jquery_ref_ajax
jQuery AJAX 参考手册
Section titled “jQuery AJAX 参考手册”jQuery AJAX 方法
Section titled “jQuery AJAX 方法”AJAX(Asynchronous JavaScript and XML,异步 JavaScript 和 XML)允许网页与服务器交换数据,并更新页面的一部分,无需刷新整个页面。jQuery 提供了一套全面且兼容各种浏览器的工具,用于发起 AJAX 请求。
虽然现代 JavaScript 提供了原生的 fetch API 和 async/await 语法来处理异步请求,但 jQuery 的 AJAX 方法由于其便捷性和强大的功能集(例如内置的 JSONP 支持和全局事件处理程序),在已使用 jQuery 的项目中仍然被广泛使用。
下表列出了核心的 jQuery AJAX 方法和相关工具:
| 方法 | 描述 |
|---|---|
| $.ajax() | 用于执行异步 HTTP (Ajax) 请求的核心方法。高度可配置。 |
| $.get() | 使用 HTTP GET 请求从服务器加载数据。是 $.ajax() 设置 type: 'GET' 的简写形式。 |
| $.post() | 使用 HTTP POST 请求从服务器加载数据。是 $.ajax() 设置 type: 'POST' 的简写形式。 |
| $.getJSON() | 使用 HTTP GET 请求从服务器加载 JSON 编码的数据。设置适当的头部信息和数据类型。 |
| $.getScript() | 使用 HTTP GET 请求从服务器加载并执行 JavaScript 文件。 |
| .load() | 从服务器加载 HTML 数据并将其注入匹配的元素中。可以包含一个选择器来过滤加载的 HTML。 |
| $.ajaxSetup() | 为未来的 Ajax 请求设置默认值。常用于设置超时时间或头部信息等通用选项。 |
| .serialize() | 将一组表单元素编码为适合提交的字符串(例如 ‘name=John&location=Boston’)。 |
| .serializeArray() | 将一组表单元素编码为包含名称和值的对象数组(例如 [{name: 'name', value: 'John'}, ...])。 |
| $.param() | 创建数组或对象的序列化表示,适用于 URL 查询字符串或 AJAX 请求数据。 |
| Global Ajax Event Handlers | 这些方法注册处理程序,当页面上的任何 Ajax 请求状态改变时触发。它们通常附加到 document 对象。 |
| .ajaxStart() / .ajaxStop() | 注册处理程序,当第一个 Ajax 请求开始时调用 / 当所有活动 Ajax 请求完成时调用。 |
| .ajaxSend() / .ajaxComplete() | 注册处理程序,在发送 Ajax 请求之前调用 / 当 Ajax 请求完成时调用(成功或错误回调之后)。 |
| .ajaxSuccess() / .ajaxError() | 注册处理程序,当 Ajax 请求成功完成时调用 / 当 Ajax 请求失败时调用。 |
| $.ajaxPrefilter() | 在发送并由 $.ajax() 处理每个请求之前,处理自定义 Ajax 选项或修改现有选项。 |
| $.ajaxTransport() | 创建一个对象,用于处理 Ajax 数据的实际传输(适用于高级用例)。 |
理解 Promises(Deferred 对象)
Section titled “理解 Promises(Deferred 对象)”大多数 jQuery AJAX 方法(如 $.ajax、$.get、$.post)返回一个 jqXHR 对象,该对象实现了 Promise 接口(特别是 jQuery 的 Deferred 对象)。这允许你使用 .done()、.fail() 和 .always() 等方法链式调用回调函数,以便更灵活地处理成功、错误和完成状态,而不是使用传统的 callback 选项。
$.getJSON('/api/data') .done(function(data) { console.log('Success:', data); }) .fail(function(jqXHR, textStatus, errorThrown) { console.error('Error:', textStatus, errorThrown); }) .always(function() { console.log('Request completed.'); });