XMLHttpRequest readyState响应状态

2019-3-11 13:15| 作者: admin| 查看: 108| 评论: 0|来自: 蚂蚁部落

当ajax请求发送到服务器时,我们需要根据请求响应状态来执行一定的操作。

readyState存储有XMLHttpRequest对象的状态信息。

更多关于XMLHttpRequest对象内容可以参阅AJAX XMLHttpRequest一章节。

XMLHttpRequest对象主要属性列表如下:

属性描述
readyState存有XMLHttpRequest的状态,返回值是从0到4。
(1).0: 请求未初始化。
(2).1: 服务器连接已建立。
(3).2: 请求已接收。
(4).3: 请求处理中。
(5).4: 请求已完成,且响应已就绪。
status(1).200: "OK"。
(2).404: 未找到页面。

当readyState属性值发生改变的时候就会触发onreadystatechange事件。

然后将相应的处理代码放在onreadystatechange事件处理函数中。

代码实例如下:

[HTML] 纯文本查看 复制代码运行代码
<!DOCTYPE html> 
<html> 
<head> 
<meta charset=" utf-8"> 
<meta name="author" content="http://www.softwhy.com/" /> 
<title>蚂蚁部落</title> 
<script>
function loadXMLDoc() {
  var xmlhttp;
  if (window.XMLHttpRequest) {
    xmlhttp = new XMLHttpRequest();
  }
  else {
    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
  }
  xmlhttp.onreadystatechange = function () {
    if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
      document.getElementById("show").innerHTML = xmlhttp.responseText;
    }
  }
  xmlhttp.open("GET", "demo/ajax/net/Async.aspx", true);
  xmlhttp.send();
}
window.onload = function () {
  loadXMLDoc();
  var odiv = document.getElementById("content");
  odiv.innerHTML = "由于是异步操作,所以不会阻塞当前内容的显示。";
}
</script> 
</head> 
<body> 
<div id="show"><img src="demo/ajax/net/img/wait.gif"></div> 
<div id="content"></div>
</body> 
</html>

当readyState发生变化的时候,就会触发onreadystatechange事件,并且当readyState属性值等于4和status属性值等于200的时候,说明响应已经就绪,且没有发生其他错误,那就执行指定的相关代码。


鲜花

握手

雷人

路过

鸡蛋

最新评论

返回顶部