我想向SettingsajaxSetup添加一些其他属性。

然后,我将从BeforeSendOnCompleteAjax回调访问这些设置。

例如,应该看起来像这样:

$.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的人知道他们在做什么,因此您不应该过多地考虑它。

如果您要做的只是创建一个可以在回调中访问的变量,只需为其提供全局作用域即可。为了获得奖励积分,请将所有内容隐藏在全局“名称空间”中,以避免发生冲突。

10-08 16:32