首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >检测ajax请求无连接状态和状态

检测ajax请求无连接状态和状态
EN

Stack Overflow用户
提问于 2015-04-23 00:41:07
回答 1查看 665关注 0票数 0

我正在使用纯JavaScript (No jQuery和no others...)我正在编写一些代码来发出AJAX请求。我注意到,当互联网连接失败时,在chrome、firefox和ie上,这些都是xmlhttp.onreadystatechange:中的值。

代码语言:javascript
复制
xmlhttp.readyState=4
xmlhttp.status=0

既然我想处理网络连接问题,这是一个好方法吗?

代码语言:javascript
复制
xmlhttp.onreadystatechange=function(){

    if(xmlhttp.readyState==4 && xmlhttp.status==0){//No internet connection

        //code to handle network error
    }
}

这段代码似乎可以为我工作,但我没有看到任何关于这方面的文档,哪里也没有!你认为这是一个可靠的解决方案吗?

EN

回答 1

Stack Overflow用户

发布于 2015-04-23 00:46:04

您可以使用online/offline events

代码语言:javascript
复制
window.addEventListener('load', function() {
  var status = document.getElementById("status");

  function updateOnlineStatus(event) {
    var condition = navigator.onLine ? "online" : "offline";

    status.className = condition;
    status.innerHTML = condition.toUpperCase();

    log.insertAdjacentHTML("beforeend", "Event: " + event.type + "; Status: " + condition);
  }

  window.addEventListener('online',  updateOnlineStatus);
  window.addEventListener('offline', updateOnlineStatus);
});
代码语言:javascript
复制
#status {
  position : fixed;
  width: 100%;
  font : bold 1em sans-serif;
  color: #FFF:
  padding : 0.5em
}

#log {
  padding: 2.5em 0.5em 0.5em;
  font: 1em sans-serif;
}

.online {
  background: green;
}

.offline {
  background: red;
}
代码语言:javascript
复制
<div id="status"></div>
<div id="log"></div>
<p>This is a test</p>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29803882

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档