您的位置:首页 > Web前端 > JQuery

jquery的几种ajax方式对比

2015-07-06 16:42 671 查看
jquery的ajax方式有如下几种:

1. $.post(url,params,callback);

2. $.getJSON(url,params,callback);

3. $.ajax();

4. $.load(url,params,callback);

第一种:采用post方式提交,中文参数无需转码,在callback中如果要获取json字符串,还需转换一下。

如:

Java代码


$.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参数里面有中文的话,请先转码,否则会出现乱码提交到后台。

Java代码


$.getJSON(url,param,function(jsondata){
这里返回的jsondata可以直接取不用再转换了。
如:jsondata[0].nuclide
}

第3种方式:$.ajax, 这种方式最灵活。

Java代码


$.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。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: