我正在做一个非常简单的xhr模拟示例,并且需要能够设置返回成功(在此特定示例中我也不能使用库)。
function fakeHttpRequest(json) {
$.ajaxSetup({
complete: function() {
this.success.call(this, json);
}
});
}
我上面所做的工作很有效,除非我调用它3次,我使用它的最后一次集成测试会返回3次不同的时间(而不是我预期的1次)。是否可以调用它并清除它或在测试之间重置它?
更新
这是我最终的结果
function fakeHttpRequest(json) {
jQuery.ajax = function(opts) {
opts.success(json);
}
}
答案 0 :(得分:0)
如果您只需假冒ajax成功回复,您可以随时伪造它(see this question):
var fakeResponse;
$.ajax = function( options ) {
options.success( fakeResponse );
}
你只需要在对象调用$ .ajax之前设置fakeResponse,它就会调用对象的success
函数。