AJAX:无法通过context参数将对象传递给ajaxSuccess函数

时间:2013-09-03 10:55:10

标签: javascript jquery ajax

我知道为什么我不能将上下文传递给ajaxSuccess函数?我也尝试通过代理方法来实现,但它似乎不起作用。

我的test.js片段:

$('a.ajax-nav').click(function(event) {
  event.preventDefault();
  $.ajax({
    url: event.currentTarget.href,
    context: {foo: 'bar'}
  });
});

然后是ajaxSuccess

$(document).ajaxSuccess(function(event, xhr, settings) {
  console.log(foo.bar);
});

我正在使用ajaxSuccess来发生应该在所有成功的ajax请求上发生的全局事件。

1 个答案:

答案 0 :(得分:1)

因为您将它作为上下文传递,所以您应该能够通过settings对象访问该对象。

看起来没有使用context参数调用ajaxSuccess。

$(document).ajaxSuccess(function(event, xhr, settings) {
    console.log(settings.context.foo);
});

演示:Fiddle