jQuery   发布时间:2022-04-19  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了检查jQuery ajax请求的状态大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
似乎只有在ajax请求能够从服务器获得某些响应时才会触发成功,错误和完整回调.

因此,如果我关闭服务器,则不会执行以下错误回调,并且请求将以静方式失败.

$.ajax({
  type: "GET",url: "http://localhost:3000/",dataType: "script",success: function() {
    alert("success");
  },error: function() {
    alert("error");
  }
});

什么是在根本无法访问服务器时抛出错误的最佳方法.

编辑 – 从我的尝试和阅读看来,jQuery的内置错误处理不适用于JSONP或dataType:“script”.所以我要尝试设置手动超时.

编辑 – 做了一点研究,看起来不仅ajax错误回调不起作用,而且你不能用dataType脚本或jsonp中止ajax请求,这些请求忽略超时设置.

一个替代方案 – jquery-jsonp插件,但它使用隐藏的iframe,我宁愿避免.所以我已经决定创建一个手动超时,如下所示.如果请求超时,则无法中止请求,这意味着即使在超时后脚本仍可能仍然加载,但如果服务器不可用,则至少会触发某些内容.

解决方法

您可以使用 setTimeout,并在完整的处理程序中使用 clearTimeout清除它.
var reqTimeout = setTimeout(function()
{
  alert("request timed out.");
},5000);
var xhr = $.ajax({
  type: "GET",error: function() {
    alert("error");        
  },complete: function() {
    clearTimeout(reqTimeout);
  }
});

大佬总结

以上是大佬教程为你收集整理的检查jQuery ajax请求的状态全部内容,希望文章能够帮你解决检查jQuery ajax请求的状态所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。