ajax同步和异步的差异

前端之家收集整理的这篇文章主要介绍了ajax同步和异步的差异前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

aajax同步和异步的差异,先看2段代码

代码一:

Js代码
  1. Synchronize=function(url,param){
  2. functioncreateXhrObject(){
  3. varhttp;
  4. varactiveX=["MSXML2.XMLHTTP.3.0","MSXML2.XMLHTTP","Microsoft.XMLHTTP"];
  5. try{
  6. http=newXMLHttpRequest;
  7. }catch(e){
  8. for(vari=0;i<activeX.length;++i){
  9. newActiveXObject(activeX[i]);
  10. break;
  11. }catch(e){}
  12. }
  13. }finally{
  14. returnhttp;
  15. }
  16. }
  17. varconn=createXhrObject();
  18. conn.open("POST",url,false);//ajax同步
  19. conn.send(param);
  20. varstrReturn=conn.responseText;
  21. alert("1");
  22. if(strReturn!=""){
  23. returnExt.decode(conn.responseText);
  24. }else{
  25. returnnull;
  26. }
  27. alert("2");
  28. };

代码二:

同步和异步的差异如下:

conn.open('POST',Url,true);// ajax异步

conn.open(false);// ajax同步

对于代码二,为异步的ajax请求,执行结果为:先执行alert(2)再执行alert(1),异步的意思就是说一旦conn.open请求一发出,前端不去等待它的响应便执行后面的代码,所以alert(2)先执行了,然后当响应response到达以后才执行alert(1);

对于代码一,为同步的ajax请求,执行结果为:先执行alert(1)再执行alert(2),同步的意思就是说一旦conn.open请求一发出,前端就去等待它的响应,响应完成以后,alert(1)先执行了,然后alert(2);

猜你在找的Ajax相关文章