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);?? ??
-
}??
- 如: ??
-
????for?(var?i?=0?;?i<?obj.length?;i++){ ??
-
??????????$("td:eq(1)",$tr).htmlobj[i].nuclide);??
- ?????} ??
- ??????
$.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 ??
- }??
$.getJSON(url,param,function(jsondata){
这里返回的jsondata可以直接取不用再转换了。
如:jsondata[0].nuclide
}
第3种方式:$.ajax, 这种方式最灵活。
- $.ajax({ ??
-
????????url:?url,??
-
????????data:?data,??
-
????????type:?'POST',??
-
?????????????async:?false,??
-
????????dataType:?'json',??
- ????????success:function(data){ ??
- ????????????accidentList?=?data.list; ??
-
??????????
- ??