在jQuery中通过ajax学习时,我遇到了两个术语,即 $.ajaxPrefilter()
和 $.ajaxSetup()
。我所能发现的是,在加载或调用 $.ajax()
之前,这些更改会在AJAX中进行一些更改。
有人可以用最简单的形式简化和解释这些术语,并略微比较两者吗?
答案 0 :(得分:12)
$.ajaxSetup()
- 为将来的Ajax请求设置默认值。例如,您可以在此处为每个请求设置始终要使用的ajax URL。
示例:
$.ajaxSetup({
// Always use this URL for every request
url: "http://example.com/ajax.php"
});
$.ajaxPrefilter()
- 在发送每个请求之前修改现有选项。例如,您可以将查询字符串组件附加到发送的每个ajax请求中。
示例:
$.ajaxPrefilter( function(options) {
// Always add "?debug=1" to every URL
options.url += (options.url.indexOf("?") < 0 ? : "?" : "&") + "debug=1";
});
答案 1 :(得分:5)
$.ajaxSetup
只需一个options
对象,并将其用作未来$.ajax()
次调用的默认值(以及其他快捷方式的调用,如$.get
)。例如,
$.ajaxSetup( { dataType: 'json' });
将此设为未来通话的默认dataType
。
$.ajaxPrefilter
允许您在将每个AJAX请求发送到服务器之前运行自定义函数。它可以检查该调用的选项,然后以任何方式更改它们。因此它比$.ajaxSetup
提供了更多的灵活性和控制力。