Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 每次使用后如何清除ajaxSetup?_Jquery - Fatal编程技术网

Jquery 每次使用后如何清除ajaxSetup?

Jquery 每次使用后如何清除ajaxSetup?,jquery,Jquery,我正在做一个非常简单的xhr模拟示例,需要能够设置返回成功(在这个特定示例中,我也不能使用库) 我在上面所做的工作非常有效,除了如果我调用它3次,我在中使用的最后一个集成测试将返回3次不同的时间(而不是我预期的1次)。是否可以在测试之间调用它并清除它或重置它 更新 这就是我的结局 function fakeHttpRequest(json) { jQuery.ajax = function(opts) { opts.success(json); } } 如果您只需要伪造a

我正在做一个非常简单的xhr模拟示例,需要能够设置返回成功(在这个特定示例中,我也不能使用库)

我在上面所做的工作非常有效,除了如果我调用它3次,我在中使用的最后一个集成测试将返回3次不同的时间(而不是我预期的1次)。是否可以在测试之间调用它并清除它或重置它

更新

这就是我的结局

function fakeHttpRequest(json) {
   jQuery.ajax = function(opts) {
     opts.success(json);
   }
}

如果您只需要伪造ajax成功响应,您可以随时伪造它():


您只需在对象调用$.ajax之前设置FakerResponse,它将调用对象的
success
函数。

即使在将$.ajaxSetup()放入我的设置或拆卸(QUnit)中之后,当单个测试运行且生产代码直接命中$.getJSON时,我也会看到多个日志。(我的问题如上所示)有没有更好的方法来实现这一点?在生产代码中执行$.getJSON时,我只需要假装xhr成功(以及可以在测试之间安全重置的东西)?
function fakeHttpRequest(json) {
   jQuery.ajax = function(opts) {
     opts.success(json);
   }
}
var fakeResponse;

$.ajax = function( options ) {
  options.success( fakeResponse );
}