虽然 jQuery 提供了许多 Ajax 相关便利方法,但核心 $.ajax()
方法是所有这些方法的核心,理解它至关重要。我们先回顾一下,然后简要介绍一下便利方法。
通常认为使用 $.ajax()
方法优于 jQuery 提供的便利方法。正如你所看到的,它提供了便利方法所没有的功能,并且它的语法易于阅读。
链接 $.ajax()
jQuery 的核心 $.ajax()
方法是一种创建 Ajax 请求的强大而直接的方法。它采用一个配置对象,其中包含 jQuery 完成请求所需的所有指令。$.ajax()
方法特别有价值,因为它提供了指定成功和失败回调的能力。此外,它能够采用可以单独定义的配置对象,使得编写可重用代码变得更加容易。有关配置选项的完整文档,请访问 https://api.jqueryjs.cn/jQuery.ajax/。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
|
注意:关于 dataType
设置,如果服务器返回的数据格式与你指定的格式不同,你的代码可能会失败,并且原因并不总是很清楚,因为 HTTP 响应代码不会显示错误。在使用 Ajax 请求时,请确保你的服务器正在发送你请求的数据类型,并验证 Content-type
头是否适用于该数据类型。例如,对于 JSON 数据,Content-type
头应该是 application/json
。
链接 $.ajax()
选项
$.ajax()
方法有很多选项,这也是它的强大之处。要查看完整选项列表,请访问 https://api.jqueryjs.cn/jQuery.ajax/;以下列出了几个你经常会用到的选项
链接 async
如果请求应同步发送,则设置为 false
。默认为 true
。请注意,如果你将此选项设置为 false
,则你的请求将阻止其他代码执行,直到收到响应。
链接 cache
是否使用可用的缓存响应。对于除“脚本”和“jsonp”之外的所有 dataType
,默认为 true
。当设置为 false
时,URL 只会附加一个防缓存参数。
链接 done
如果请求成功,则运行回调函数。该函数接收响应数据(如果 dataType
为 JSON,则转换为 JavaScript 对象),以及请求的文本状态和原始请求对象。
链接 fail
如果请求导致错误,则运行回调函数。该函数接收原始请求对象和请求的文本状态。
链接 always
无论成功与否,当请求完成时运行回调函数。该函数接收原始请求对象和请求的文本状态。
链接 context
回调函数应运行的范围(即回调函数内 this
的含义)。默认情况下,回调函数内的 this
指的是最初传递给 $.ajax()
的对象。
链接 data
要发送到服务器的数据。这可以是对象或查询字符串,例如 foo=bar&baz=bim
。
链接 dataType
你期望从服务器返回的数据类型。默认情况下,如果未指定 dataType
,jQuery 将查看响应的 MIME 类型。
链接 jsonp
在执行 JSONP 请求时,在查询字符串中发送回调名称。默认为“回调”。
链接 超时
在将请求视为失败之前等待的时间(以毫秒为单位)。
链接 传统
设置为 true
以使用 jQuery 1.4 之前使用的参数序列化样式。有关详细信息,请参阅 https://api.jqueryjs.cn/jQuery.param/。
链接 类型
请求的类型,“POST”或“GET”。默认为“GET”。可以使用其他请求类型,例如“PUT”和“DELETE”,但并非所有浏览器都支持这些类型。
链接 URL
请求的 URL。
url
选项是 $.ajax()
配置对象的唯一必需属性;所有其他属性都是可选的。这也可以作为 $.ajax()
的第一个参数传递,而选项对象作为第二个参数传递。
链接 便捷方法
如果您不需要 $.ajax()
的广泛可配置性,并且不关心处理错误,那么 jQuery 提供的 Ajax 便捷函数可以成为完成 Ajax 请求的有用且简洁的方法。这些方法只是核心 $.ajax()
方法的“包装器”,并且只是预先设置了 $.ajax()
方法的一些选项。
jQuery 提供的便捷方法是
链接 $.get
对提供的 URL 执行 GET 请求。
链接 $.post
对提供的 URL 执行 POST 请求。
链接 $.getScript
向页面添加脚本。
链接 $.getJSON
执行 GET 请求,并期望返回 JSON。
在每种情况下,这些方法按顺序采用以下参数
链接 URL
请求的 URL。必需。
链接 data
要发送到服务器的数据。可选。这可以是对象或查询字符串,例如 foo=bar&baz=bim
。
注意:此选项对 $.getScript
无效。
链接 成功回调
如果请求成功,则运行回调函数。可选。该函数接收响应数据(如果数据类型为 JSON,则转换为 JavaScript 对象),以及请求的文本状态和原始请求对象。
链接 数据类型
您期望从服务器返回的数据类型。可选。
注意:此选项仅适用于名称中未指定数据类型的函数。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
|
链接 $.fn.load
.load()
函数在 jQuery 的 Ajax 函数中独一无二,因为它在选择中被调用。.load()
函数从 URL 中获取 HTML,并使用返回的 HTML 来填充选定的元素。除了向函数提供一个 URL,您还可以选择提供一个选择器;jQuery 将仅从返回的 HTML 中获取匹配的内容。
1
2
|
|
1
2
3
4
|
|