0

我刚刚发现了 mockjax 库,它似乎非常适合我的测试需求。我说“几乎”,因为有一件事我似乎无法模拟:$.ajaxPrefilter处理程序。

通常在 jQuery 中你可以指定:

$.ajaxPrefilter(function() {
    doSomethingOnEveryAjaxCall();
});

然后每当有人使用$.ajax(或$.get$.post等)该doSomethingOnEveryAjaxCall函数时都会被调用。

但是,如果我这样做:

$.mockjax({url: '/test', responseText: 'test'});
$.ajax({url: '/test'});

我设置的预过滤器 ( doSomethingOnEveryAjaxCall) 没有被调用。

有没有办法修改该代码,以便即使在 mockjax 请求/响应上也能调用预过滤器?

4

1 回答 1

1

事实证明,mockjax能够触发 ajax 预过滤器......我只是忘记提供所有必要的标题来使我的预过滤器实际触发。一旦我尝试使用正确的标题,预过滤器就会按预期触发!

于 2013-12-23T23:32:26.907 回答