在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); }
这种是经常看到的,顺序我感觉是约定这么写吧。不会有影响。
只有先请求才会有响应,之后才会触发监听事件。
举报