AJAX异步同步代码分析
var xmlhttp = new XMLHttpRequest()
xmlhttp.open(方法,指定内容,是否同步异步)
xmlhttp.send();
这里主要说说‘是否同步异步’这个概念
当异步时(TRUE)
- 在等待服务器响应时执行其他脚本
- 当响应就绪后对响应进行处理
并且应该建立监听事件
xmlhttp.onreadystatechange=function{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("testDiv").innerHTML=xmlhttp.responseText;
}
}
如果同步时(FALSE)
注意 :JavaScript 会等到服务器响应就绪才继续执行。如果服务器繁忙或缓慢,应用程序会挂起或停止
使用 async=false 时,请不要编写 onreadystatechange 函数 - 把代码放到 send() 语句后面即可
var xmlhttp = new XMLHttpRequest()
xmlhttp.open(方法,指定内容,是否同步异步)
xmlhttp.send();
document.getElementById("testDiv").innerHTML=xmlhttp.responseText;
二、responseText 与 responseXML 的区别
responseText :document.getElementById("testDiv").innerHTML=xmlhttp.responseText;
responseXML :
xmlDoc=xmlhttp.responseXML;
txt="";
x=xmlDoc.getElementsByTagName("test");
for (i=0;i<x.length;i++)
{
txt=txt + x[i].childNodes[0].nodeValue + "<br />";
}
document.getElementById("testDiv").innerHTML=txt;