onreadystatechange函数如何工作?

时间:2014-09-02 13:33:19

标签: ajax

问题:

onreadystatechange是否更新了'myDiv'信息更改时标记。或者只需点击按钮即可。我要问的是onreadystatechange是用户内置的功能,可以更改,或者这是每次进行AJax调用时由用户构建的功能。

代码:

function loadXMLDoc()
{
  if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
     var xmlhttp=new XMLHttpRequest();
  }

  xmlhttp.onreadystatechange=function()  // <-----  Question here.
  {
     if (xmlhttp.readyState==4 && xmlhttp.status==200)
     {
      document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
     }
  }
 }

  ....

  xmlhttp.open("GET","demo_get.asp",true);
  xmlhttp.send();

HTML:

  <button type="button" onclick="loadXMLDoc()">Request data</button>
  <div id="myDiv"></div>

1 个答案:

答案 0 :(得分:2)

当XMLHttpRequest正在处理的HTTP请求/响应的状态发生变化时,它会运行。

这些州是:

  

0 UNSENT open()尚未被调用。
1 OPENED send()尚未调用   已被调用。
2已调用HEADERS_RECEIVED send(),并且   标题和状态可用。
3加载下载;   responseText保存部分数据。
4 DONE操作是   完整。

通过编写代码的方式,您必须单击按钮发送请求。