最近在平台开发的时候,频繁的用到jquery的ajax方法,例如$.ajax(),$.post(),$.get(), 刚开始的是有有些晕,不都属于ajax么,怎么还出了这么多类,后来都罗列出来,进行了对比,感觉清晰了很多。
首先来看$.ajax([settings]),实例如下
$.ajax({
url: url,
data:{data:"data"},
type: type,
dataType:dataType,
success:CallBack,
error:function(er){
BackErr(er);}
});
说明:$.ajax()这个函数功能强大,包含所有ajax配置参数的设置,可以对ajax进行精确的控制:url为请求地址,data为发送到服务器的数据,type为请求的类型,datatype为服务器返回数据的类型,callback为请求成功后的回调函数,该函数接受两个参数,第一个为服务器返回的数据,第二个参数为服务器的状态,是可选参数。
接下来看另外三个,它们其实是上面的精简版,可以说是对ajax配置参数部分值做了默认设置。
一,$.get(url,[data],[callback],[datatype])
实例如下
$.get(
"industry?industryname=strName",{
id: '123',
},function(data,state){
//这里显示从服务器返回的数据
alert(data);
//这里显示返回的状态
alert(state);
}
)
说明:url为请求地址,data为请求数据的列表(是可选的,也可以将要传的参数写在url里面),callback为请求成功后的回调函数,该函数接受两个参数,第一个为服务器返回的数据,第二个参数为服务器的状态,是可选参数。而其中,服务器返回数据的格式默认是字符串形势,并不是我们想要的json数据格式,在此引用只是为了对比说明。
该函数等价于
$.ajax({
type: 'get'
url: "industry?industryname=strName",
data: {id:'123'},
success: success,
dataType: dataType
});
二,$.post(url,[data],[callback],[type])
实例如下
$.post(
"industry",{
id: '123',
industryname:strName
},function(data,state){
//这里显示从服务器返回的数据
alert(data);
//这里显示返回的状态
alert(state);
},
"json"
)
说明:这个函数跟$.get()参数差不多,多了一个type参数,type为返回的数据类型,可以是html,xml,json等类型,如果我们设置这个参数为:json,那么返回的格式则是json格式的,如果没有设置,就和$.get()返回的格式一样,都是字符串的。
该函数等价于
$.ajax({
type: 'POST',
url: "industry",
data: {id:'123', industryname:strName},
success: success,
dataType: dataType
});
三,$.getJSON(url,[data],[callback])
实例如下
$.getJSON("common.js",function(json){
alert("JSON Data: " +json.users[3].name);
});
说明:$.getJSON(url,[data],[callback])函数没有type参数,返回的是json类型的,不需要转换。
该函数等价于
$.ajax({
url: url,
data: data,
success: callback,
dataType: json
});
总结:$.ajax([settings])是对ajax各个参数的设置做全面的控制,而其他三个则是$.ajax的精简版.