jquery的幾種ajax方式對比
jquery的ajax方式有如下幾種:
1. $.post(url,params,callback);
2. $.getJSON(url,params,callback);
3. $.ajax();
4. $.load(url,params,callback);
第一種:采用post方式提交,中文參數無需轉碼,在callback中如果要獲取json字符串,還需轉換一下。
如:
$.post(url, {id: id, code: code, companyId:companyId }, function (data){ showCompanyRadialDataListdatalist }); 這個datalist為從后台取回來的數據List。 function showCompanyRadialDataList(datalist){ var obj = eval(datalist); }//這個eval可以將data轉成json串。方便后面取值。 如: for (var i =0 ; i< obj.length ;i++){ $("td:eq(1)",$tr).htmlobj[i].nuclide);//這里可以用json方式取 datalist里面的數據 }
第2種方式:getJSON采取get方式提交,所以如果你的params參數里面有中文的話,請先轉碼,否則會出現亂碼提交到后台。
$.getJSON(url,param,function(jsondata){ 這里返回的jsondata可以直接取不用再轉換了。 如:jsondata[0].nuclide }
第3種方式:$.ajax, 這種方式最靈活。
$.ajax({ url: url,//地址 data: data,//參數 type: 'POST',//提交方式 可以選擇post/get 推薦post async: false,//同步異步 dataType: 'json',//返回數據類型 success:function(data){ accidentList = data.list; //這里可以直接取data里面的數據了,因為設置返回值為json方式。 } });
當然$.ajax里面還有很多參數 可以加更多的特效在里面,如ajaxStart ,ajaxStop等等,
上面的參數type,async,dataType都不是必須的。
第4種方式:$.load 這種用得很少,一般是來加載某一個頁面或者xml等等。
