AJAX - XMLHttpRequest命令的顺序(新手)

时间:2012-02-23 09:20:48

标签: ajax xmlhttprequest onreadystatechange

在我在互联网上找到的大多数例子中,我看到类似的东西:

ajaxRequest.onreadystatechange = function() {   
    if(ajaxRequest.readyState == 4) {
        document.myForm.time.value = ajaxRequest.responseText;
    }
}

ajaxRequest.open("GET", "serverTime.php", true);
ajaxRequest.send(null);

当“改变状态”时,该代码如何工作? 财产被检查 BEFORE 执行open和send命令? 我知道它有效......但是流程如何回归“检查状态 状态“在”打开“和”发送“之后执行。

我将不胜感激任何帮助

非常感谢提前:-)

2 个答案:

答案 0 :(得分:0)

因为onreadystatechange是一个事件,并且在就绪状态发生变化之前不会调用该代码,这将在请求完成时的某个时间点发生。

答案 1 :(得分:0)

This is exactly the flow of AJAX

提出请求

你拥有闪亮的新XMLHttpRequest对象;现在把它转过来。首先,您需要一个网页可以调用的JavaScript方法(例如,当用户键入文本或从菜单中选择一个选项时)。然后,您将在几乎所有Ajax应用程序中遵循相同的基本大纲:

  1. 从网络表单中获取所需的任何数据。
  2. 构建要连接的URL。
  3. 打开与服务器的连接。
  4. 设置服务器完成后运行的功能。
  5. 发送请求。
  6. 处理回复

    现在您需要实际处理服务器的响应。此时你真的只需要知道两件事:

    * Don't do anything until the xmlHttp.readyState property is equal to 4.
    * The server will stuff it's response into the xmlHttp.responseText property.