繁体   English   中英

当Mockjax返回status:500(或400或…)时,jQuery不会触发$ .ajax.fail()。

[英]jQuery doesn't fire $.ajax.fail() when Mockjax returns status:500 (or 400 or…)

Mockjax设置:

$.mockjax({
  url: "/api/get",
  responseTime: 100, // default: 500
  dataType: "json",
  data: { action: "all" },
  proxy: "data.json",
  status: 400
});

对mockjax的调用:

$.ajax({
  url: '/api/get',
  dataType: "json",
  data: { action: "all" }
})
.always(function() {
  //something
})
.done(function(json) {
  console.log("done");
})
.fail(function() {
  console.log("error");
});

该mockjax正确返回了(JSON)数据,但是问题在于 ,无论设置了什么mockjax状态号,总是会调用done()回调(而永远不会调用fail() )。

但是,如果我故意设置了错误的代理路径,则只会触发fail()

是什么赋予了?

该问题已在Mockjax v1.5.3中修复。

嘲笑mockjax问题之前,这里有一些解决方法会触发$.ajax.fail()回调:

  • isTimeout: true
  • 格式错误的proxy:路径

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM