AJAX:无法通过上下文参数将对象传递到ajaxSuccess函数中

AJAX: Cannot pass object through context parameter into ajaxSuccess function

本文关键字:对象 ajaxSuccess 函数 参数 上下文 AJAX      更新时间:2023-09-26

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

来自我的测试.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请求上。

由于您将其作为上下文传递,因此您应该能够通过settings对象访问该对象。

似乎没有使用上下文参数调用ajaxSuccess。

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

演示:Fiddle