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

在jQuery中通过ajax学习时,我遇到了两个术语,即$.ajaxPrefilter()$.ajaxSetup() 。 我可以发现,在加载或调用$.ajax()之前,这些在AJAX中进行了一些更改。

有人能够以最简单的forms简化和解释这些术语,并略微比较两者吗?

$.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"; }); 

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

 $.ajaxSetup( { dataType: 'json' }); 

使其成为未来调用的默认dataType

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