我想向Settings
的ajaxSetup
添加一些其他属性。
然后,我将从BeforeSend
的OnComplete
和Ajax
回调访问这些设置。
例如,应该看起来像这样:
$.ajaxSetup({
myCustomProperty: 'SomeValue'
});
然后:
$.ajax({
type : 'POST',
url : url,
async : false,
data : postData,
beforeSend : function (x, settings){
alert(settings.myCustomProperty);
},
complete : function () {
alert(settings.myCustomProperty);
}
});
我不确定如何访问
ajaxSetup
的扩展名以扩展Settings
吗? 最佳答案
如果您尝试自定义jQuery $ .ajax()调用,则不会通过$ .ajaxSetup()来实现。 jQuery特别建议不要首先使用$ .ajaxSetup。从API docs:
描述:为将来的Ajax请求设置默认值。它的用途是
不建议。
我建议改为创建自己的内部调用$ .ajax()的方法:
function myAwesomeAjax(settingsObj){
// do some awesome stuff with your custom properties here
var myCustomProperty = "jQuery is awesome!";
return $.ajax(settingsObj);
}
总的来说,jQuery的人知道他们在做什么,因此您不应该过多地考虑它。
如果您要做的只是创建一个可以在回调中访问的变量,只需为其提供全局作用域即可。为了获得奖励积分,请将所有内容隐藏在全局“名称空间”中,以避免发生冲突。