如何在浏览器中的AJAX(XmlHttpRequest)调用上检测超时?

如何在浏览器中的AJAX(XmlHttpRequest)调用上检测超时?,第1张

如何在浏览器中的AJAX(XmlHttpRequest)调用上检测超时
var xmlHttp = new XMLHttpRequest();    xmlHttp.open("GET", "http://www.example.com", true);    xmlHttp.onreadystatechange=function(){       if (xmlHttp.readyState == 4 && xmlHttp.status == 200) {          clearTimeout(xmlHttpTimeout);alert(xmlHttp.responseText);       }    }    // Now that we're ready to handle the response, we can make the request    xmlHttp.send("");    // Timeout to abort in 5 seconds    var xmlHttpTimeout=setTimeout(ajaxTimeout,5000);    function ajaxTimeout(){       xmlHttp.abort();       alert("Request timed out");    }

在IE8中,您可以向对象添加超时事件处理程序

XMLHttpRequest

var xmlHttp = new XMLHttpRequest();xmlHttp.ontimeout = function(){  alert("request timed out");}

我建议不要像代码中所暗示的那样进行同步调用,也建议使用javascript框架来做到这一点。jQuery 是最受欢迎的一种。它使您的代码更高效,更易于维护并且与跨浏览器兼容。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5585832.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-14
下一篇 2022-12-14

发表评论

登录后才能评论

评论列表(0条)

保存