jquery的几种ajax方式对比
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等等。