在XMLHttpRequest取得相应一课中open()send()onreadystatechange 的执行顺序
为什么通常看到的执行循序是 onreadystatechange 事件在前 ,然后是open(method,url,true),然后再是send() 方法,这个顺序会有影响吗?
为什么通常看到的执行循序是 onreadystatechange 事件在前 ,然后是open(method,url,true),然后再是send() 方法,这个顺序会有影响吗?
2017-09-19
function show(){
var xmlhttp = null;
//创建XHR对象;与if,else一样。
try{
xmlhttp = new XMLHttpRequest();
}
catch(e){
try{
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
catch(e){
alert("你的浏览器不支持XMLHTTP");
}
}
/*监听状态,服务器响应就绪后执行代码或任务;
只有状态改变了才会触发这个 onreadystatechange 事件(一共触发五次)。
xmlhttp.onreadystatechange=function(){
if(xmlhttp.readyState==4 && xmlhttp.status==200){
//执行后续的任务,responseText,responseXML等等
}
}
//向服务器发送请求。上面的事件就是监听来自服务器的响应的状态,但是只有先发送请求才可以监听。
xmlhttp.open("GET",url,true);
xmlsend(null);
}这种是经常看到的,顺序我感觉是约定这么写吧。不会有影响。
只有先请求才会有响应,之后才会触发监听事件。
举报