通过 jQuery 进行 AJAX 操作

1.AJAX() 函数

对ajax() 函数指定2 个参数。 第 1 个参数指定的是目标URL。第2 个参数则是一个被指定了相关参数、所使用的HTTP 类型或回调函 数等信息的对象。也可以省略第1 个参数,而将URL 指定为第2 个参数中的对 象的属性。

通过 jQuery 执行 AJAX 操作

$.ajax('/foo', { 
    type: 'GET', 
    success: function (data, status, xhr) {  
        // 成功时将执行的处理 
    }, 
    error: function (xhr, status, errorThrown) {  
        // 失败时将执行的处理 
    } 
}); 
在 ajax() 函数中可以指定的属性
属性名 说明
url 请求发送目标的 URL
type 所使用的 HTTP 类型
timeout 超时时间。单位为毫秒
async 是否执行异步通信
crossDomain 是否执行跨源通信
isLocal 在访问文件系统等本地环境时值为 true
data 所发送的数据对象或字符串
processData 是否不将 data 转换为查询字符串就发送
traditional 该属性用于对将 data 转换为查询字符串时所用的序列化方式进行指定。如果被指定为 true,则通过老式 的方式,在转换时不对嵌套的对象进行序列化
headers 请求头部
ifModified 如果该值被指定为 true,则只有在数据被更改的时候请求才算发送成功
cache 是否使用浏览器缓存
dataType 通过字符串指定响应数据的类型。可指定为 xml、html、script、json 及 text 中的一种。回调函数将会把 数据转换为这里所指定类型后传递
accepts 用于对 Accept 头部信息进行指定的值的映射。其键为 dataType,值为 Accept 头部信息所指定的值
mimeType 强制覆写于 Content-Type 头部信息中的值
contents 在通过 Content-Type 头部信息来判断响应数据的类型时所用的正则表达式的映射(其键为 dataType, 其值为正则表达式)
converters 用于分析响应数据的函数的映射。其键为转换前与转换后的数据类型以空格相连而成的字符串(如果是 由 text 转换为了 html 则是 "text html"),其值为函数
context 回调函数内的 this 所引用的对象
beforeSend(xhr, settings) 在发送前执行的回调函数。如果该函数返回了 false,则将取消请求的发送
success(data, status, xhr) 在通信成功时执行的回调函数 error(xhr, status) 在通信失败时执行的回调函数
complete(xhr, status) 在通信完成时执行的回调函数。在成功或失败时也将执行
dataFilter(data, type) 用于对响应数据过滤的回调函数。该函数将在success()之前被执行,其结果作为data参数传递给success()
statusCode 用于指定每一个状态码的回调函数的映射。其键为状态码,其值为函数
jsonp 在发送 JSONP 请求所使用的用于指定回调函数名的参数名。如果没有指定,则默认参数名为 callback
jsonpCallback JSONP 请求的回调函数名。如果没有指定,则会自动设定
scriptCharset 指定读取 script 时所用的字符集。仅在 dataType 为 jsonp 或 script 时有效
global 是否触发与 AJAX 相关的全局事件
xhr 用于创建 XMLHttpRequest 对象的工厂函数
xhrFields XMLHttpRequest 对象所设定的属性的映射
username 在需要认证的访问中所用的用户名
password 在需要认证的访问中所用的密码

2.AJAX() 的包装函数

ajax() 函数的包装函数
函数 说明
get(url, [data,] [success(data, status, xhr)] [dataType]) 通过 GET 方式进行通信。 可以对发送的数据、成功时的回调函数,及响应的数据类型进行指定
post(url, [data,] [success(data, status, xhr)] [dataType]) 通过 POST 方式进行通信。 参数与 get() 函数相同
getJSON(url, [data,] [success(data, status, xhr)]) 通过 GET 方式获取 JSON 数据。 可以对发送的数据、通信成功时的回调函数进行指定
getScript(url, [success(data, status, xhr)]) 通过 GET 方式获取 JavaScript 并执行。 可以对通信成功时的回调函数进行指定

可以通过ajaxSetup() 函数来更改ajax() 函数中所能设定的选项的默认值

3.全局事件

在使用ajax() 函数时将会触发多个事件。由于这些事件对任何元素都有效,因此被称为全局事件。 如果不希望触发全局事件,则需要通过 ajax() 函数的选项将 global 属性设置为 false。

全局事件的事件侦听器注册方法
方法名 侦听器的执行时机
ajaxStart(func()) AJAX 通信开始时。 即使有多个 AJAX 通信同时执行,也仅会被执行 1 次
ajaxSend(func(event, xhr, options)) 请求发送前
ajaxSuccess(func(event, xhr, options)) 通信成功时
ajaxError(func(event, xhr, options, error)) 通信失败时
ajaxComplete(func(event, xhr, options)) 通信结束时(无论通信成功还是失败)
ajaxStop(func()) 所有的 AJAX 通信结束时
发布了108 篇原创文章 · 获赞 3 · 访问量 2556

猜你喜欢

转载自blog.csdn.net/weixin_43307431/article/details/104702333
今日推荐