深入Jquery-$.ajax 、$.get、$.post、$.getJSON

来源:互联网 发布:行云网络加速器 编辑:程序博客网 时间:2024/06/06 18:08

最近在平台开发的时候,频繁的用到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的精简版.


0 0
原创粉丝点击