第一種:GET傳參(常用):
get傳參方式就是鏈接?后寫上參數和數據用&拼接.
第二種:POST傳參(常用):
這種傳參方式可以GET POST同時傳,在鏈接上加參數后台用get方式接收,POST傳的數據,后台用POST數據接收.
例如:
$.ajax( { url: ("FinancialCenter.aspx?timestamp={0}").format(new Date().getTime()), type: 'POST', dataType: 'json',
async:true, timeout: 10000, data: { Action: "UpdateItemCraft", Callback: "true", ItemId: id, UpdateValue: NewValue }, success: function (resultData) { } });
第三種和第二種有點相像,但是第三種不傳變量名,將數據轉成JSON來傳:
例:
$.ajax({ type: 'Post', url: url, data: JSON.stringify(searchStr), dataType: 'json', success: function (resultJsonData) { });
這個時候后端接收值的時候,就不能用GET和POST方式接收了,而是要用:
Request.InputStream來接收。
Stream postedStream = context.Request.InputStream; using (StreamReader reader = new StreamReader(postedStream, Encoding.UTF8)) { this._postedStr = reader.ReadToEnd(); }
第四種:就是SUBMIT的方式進行get和post數據傳輸(在服務端控件中,用得多)
第五種:變種SUBMIT方式上傳數據(這種其實是PostBack方式上傳數據,webForm開發的用得多)
接收參數:
get pos 接收方式我就不講了,沒有意思,Model方式接收也不講了。以下是無Model對應時,個人認為的最好接收方式:
當接收來自前台的參數時,前台參數無變量,就是一個整體,而且整體沒有可對應的對象時,用JObject處理最佳
JObject jPostStr = JsonConvert.DeserializeObject(_postedStr) as JObject; string typecode = jPostStr["TypeCode"].ToString();