$ .ajaxPrefilter()Vs $ .ajaxSetup() - jQuery Ajax

Dea*_*ool 13 javascript ajax jquery

同时通过在jQuery的阿贾克斯学习,我遇到了2项,即,$.ajaxPrefilter()$.ajaxSetup().我所能发现的是,这些在加载或调用之前在AJAX中进行了一些更改$.ajax().

有人可以用最简单的形式简化和解释这些术语,并略微比较两者吗?

Dra*_*kes 12

$.ajaxSetup() - 为将来的Ajax请求设置默认值.例如,您可以在此处设置始终要用于每个请求的ajax URL .

例:

$.ajaxSetup({
  // Always use this URL for every request
  url: "http://example.com/ajax.php"
});
Run Code Online (Sandbox Code Playgroud)

$.ajaxPrefilter() - 在发送每个请求之前修改现有选项.例如,您可以将查询字符串组件附加到发出的每个ajax请求.

例:

$.ajaxPrefilter( function(options) {
    // Always add "?debug=1" to every URL
    options.url += (options.url.indexOf("?") < 0 ? : "?" : "&") + "debug=1";
});
Run Code Online (Sandbox Code Playgroud)


Bar*_*mar 5

$.ajaxSetup只需要一个options对象,并将其用作未来$.ajax()调用的默认值(以及其他快捷方式的调用,如$.get).例如,

$.ajaxSetup( { dataType: 'json' });
Run Code Online (Sandbox Code Playgroud)

使其成为dataType未来通话的默认值.

$.ajaxPrefilter允许您在将每个AJAX请求发送到服务器之前运行自定义函数.它可以检查该调用的选项,然后以任何方式更改它们.因此它提供了更多的灵活性和控制力$.ajaxSetup.