Skip to content

jquery_ref_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 数据的实际传输(适用于高级用例)。

大多数 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.');
});