$.ajax()
是 jQuery 提供的底层 AJAX 实现方法,用于执行异步 HTTP (Ajax) 请求。每次调用都会创建一个独立的 AJAX 请求。
$.ajaxSetup()
是用于设置全局 AJAX 默认选项的方法。通过它可以为后续所有的 AJAX 请求设置默认参数,避免重复配置。
| 特性 | $.ajax() | $.ajaxSetup() | |------|----------|---------------| | 用途 | 执行单个 AJAX 请求 | 设置全局 AJAX 默认选项 | | 调用时机 | 每次需要发起请求时调用 | 通常在页面初始化时调用一次 | | 返回值 | 返回 jqXHR 对象 | 无返回值 | | 影响范围 | 只影响当前请求 | 影响所有后续 AJAX 请求 | | 覆盖性 | 可以覆盖 $.ajaxSetup() 的设置 | 会被 $.ajax() 的显式设置覆盖 |
$.ajax({
url: "api/data",
type: "GET",
dataType: "json",
success: function(response) {
console.log("成功:", response);
},
error: function(xhr, status, error) {
console.error("错误:", error);
}
});
// 设置全局 AJAX 默认选项
$.ajaxSetup({
url: "api/",
type: "POST",
dataType: "json",
timeout: 5000,
headers: {
"X-CSRF-TOKEN": "your-csrf-token"
}
});
// 后续 AJAX 请求会自动应用这些设置
$.ajax({
// 这里不需要再指定 type 和 dataType
data: { id: 123 },
success: function(response) {
console.log(response);
}
});
error
回调)时$.ajax()
中的显式设置会覆盖 $.ajaxSetup()
中的默认设置。$.ajaxSetup()
会影响所有 jQuery AJAX 方法(包括 $.get()
, $.post()
等),使用时需谨慎。$.ajaxSetup()
放在页面初始化代码中$.ajaxSetup()
中设置 success
和 error
回调,除非确实需要全局处理axios
或 fetch API
等更现代的 AJAX 解决方案。$.ajaxSetup()
可以减少重复代码,但过度使用可能导致请求间耦合度过高。没有搜到相关的文章