0

在我在 Internet 上找到的大多数示例中,我看到类似这样的内容:

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

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

在执行打开和发送命令之前检查“更改状态”属性时,这怎么可能以及该代码如何工作 ?我知道它有效......但是在执行“打开”和“发送”之后,流程如何返回到“检查状态状态”。

我将不胜感激任何帮助

提前谢谢了 :-)

4

2 回答 2

0

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

于 2012-02-23T09:31:32.620 回答
0

这正是AJAX的流程

发出请求

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

  1. 从 Web 表单中获取您需要的任何数据。
  2. 构建要连接的 URL。
  3. 打开与服务器的连接。
  4. 设置一个功能,让服务器在完成后运行。
  5. 发送请求。

处理响应

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

* 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.
于 2012-02-23T10:40:45.363 回答