版权声明:wuyujin1997 reserve all rights. https://blog.csdn.net/wuyujin1997/article/details/89015082
jQuery AJAX
直接使用JS进行AJAX编程需要考虑不同浏览器的兼容性,且代码过于繁多。
jQuery中对此进行了封装,以便快速调用。
API
$.ajax(url, ?settings) - jqXHR
$.get(url, ?data, ?success, ?dataType)
$.post(url, ?data, ?success, ?dataType)
$.getJSON(url, ?data, ?success)
其中success
为function(data, textStatus, jqXHR)
jQuery.ajax(url, ?settings)
settings
对象的常用成员属性有:
async
: 是否异步执行AJAX请求。默认为true
。
method
: 发送的HTTP请求方法类型,默认为GET
。
contentType
: 发送POST
请求的格式。默认为application/x-www-form-urlencoded; charseet=UTF-8
,也可以指定为text/plain
或application/json
。
headers
: 发送的额外的HTTP头,必须是一个object
。
dataType
: 接收的数据格式。可以为text, json, xml, html
等。默认值根据响应的content-Type
猜测。
data
: 发送的数据,可以使字符串,数组或object。
如果是GET
请求,data
会被转换成query串,附加到URL上。
如果是POST
请求,根据contentType
把data序列化成合适的格式。
jQuery.ajax()
返回一个jqXHR
对象,它类似于Promise
对象,可以用链式语法处理各种回调。
$.ajax(url, {
/* settings */
}).done(function() {
}).fail(function() {
}).always(function() {
});
// 相当于
$.ajax(url, {
/* settings */
}).then(doneFn, failFn);