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

多日低效率关于$post,$get,$ajax的感悟

2016-03-17 16:44 519 查看
首先,来说$.get和$.post

一般来说 做查询,不修改值的时候 用GET方法,所以相对的,需要再服务端对数据进行修改的,则用POST。

我们来说说$.get() 。

有四个参数

我来数数哪四个:(url, params, callback , type)。

解释一下:

url是个字符串, 就是通过GET方法接触的服务端资源的URL,这个URL可以是.php这样的文件后缀,也可以不是  ;

params嘛, 可以是字符串,对象,和包含对象的数组( name/value  意义对应,如{ username: "boss"}),其中字符串就是被用做查询字符串,对象的属性被序列化为正确的编码和参数,这些参数会被传入请求  (所以看看,get只能查询,  就算传参数,也是对应 的变成查询的字符串);

callback,介个是回调函数,我来定义一下 function( data, status,XHR实例)。第一个参数就是响应的请求结果数据,第二个参数就是请求的状态了(比如01),第三个XHR实例引用(包含 XMLHttpRequest 对象),好像一般只用到第一个data。

type: 就是预计服务器响应的数据类型。

这个函数等价于$.ajax()中的

$.ajax({
url: url,
data: data,
success: success,
dataType: dataType
});


对应于$.get,$.post就很好理解了

$.post也有四个参数

$.post(url,data,success(data,textStatus,jqXHR), dataType)

url必需。规定把请求发送到哪个 URL。 同样的这个可以不一定要有后缀
data可选。映射或字符串值。规定连同请求发送到服务器的数据。
success(data, textStatus, jqXHR)可选。请求成功时执行的回调函数。
dataType可选。规定预期的服务器响应的数据类型。

默认执行智能判断(xml、json、script 或 html)。

贴心小助手:data可以用 $('#form').serialize();也可以用类似json的写法:

{

  “nam”e: “name”,

  “psw”: “123456”

}

dataType : 如果为'xml',

$.post对应的$.ajax写法

$.ajax({
type: 'POST',
url: url,
data: data,
success: success,
dataType: dataType
});


解释一下XHR对象,按w3c的说法,jQuery 的 AJAX 方法返回的是 XMLHTTPRequest 对象的超集,由 $.post() 返回的 jQuery XHR 对象或 "jqXHR,"实现了约定的接口,赋予其所有的属性、方法,以及约定的行为。它提供了 .error(), .success() 以及 .complete() 方法。这些方法使用请求终止时调用的函数参数。详情看地址http://www.w3school.com.cn/jquery/ajax_post.asp

那关于$.ajax()呢,因为有太多了,我就简单说说吧(说的好像我很懂很厉害=_=)

ajax的success指的是请求成功后的回调函数。当请求之后调用。传入返回后的数据,以及包含成功代码的字符串。

详细可看http://www.w3school.com.cn/jquery/ajax_ajax.asp

总结 的不是很好,有机会慢慢完善。反正我觉得jquery对ajax集成度蛮高的,可以省心很多,对于ajax的了解,慢慢在代码中磨砺吧。加油。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ajax jquery