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里面的数据 ??
- ?????} ??
- ??????
$.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',//提交方式?可以选择post/get?推荐post? ??
- ?????????????async:?false,//同步异步? ??
- ????????dataType:?'json',//返回数据类型? ??
- ????????success:function(data){ ??
- ????????????accidentList?=?data.list; ??
- ????????//这里可以直接取data里面的数据了,因为设置返回值为json方式。????????? ??
- ????????} ??
- ????});??
$.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等等。
总结:如果参数中没有中文,又想直接用json ,那就推荐$.getJSON,如果有中文 那就采用$.post或者$.ajax。