我在这里写了更详细的文章,但这是基本思想。
将其设置为true意味着您正在发出异步请求。这意味着直到http请求完成后,代码才会暂停。同步调用会锁定浏览器,因此没有其他任何运行。这可能会导致问题,因此人们更喜欢异步。
XHR对象向我们更新了它正在做什么。它为我们提供了onreadystatechange事件的更新。我们向其注册一个功能,以便我们跟踪其状态。onreadystatechange被调用了4次。每个都有不同的状态
0 = uninitialized1 = loading2 = loaded3 = interactive4 = complete
当readystate为4时,数据对我们可用。
现在,在您发布的代码中,它正在检查完整状态,并确保状态为200 [确定]
if(xml_req.readyState == 4 && xml_req.status == 200){如果您在返回之前尝试在代码的其他地方使用xmlResponse的值,则该值将不确定。一个例子
ml_req.send(null);alert(xmlResponse );
XMLHttpRequest文章的第一篇文章可能对您来说很不错。关于xmlhttpreq的Apple文章



