Ajax犯的错误怎么处理-创新互联

这篇文章将为大家详细讲解有关Ajax犯的错误怎么处理,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

创新互联公司是一家专业提供双清企业网站建设,专注与成都网站设计、网站制作H5技术、小程序制作等业务。10年已为双清众多企业、政府机构等服务。创新互联专业网络公司优惠进行中。

1, ajax 发送请求时状态判断 if else 语句问题。


var xhr = new XMLHttpRequest(); 
xhr.open("get",strUrl);

xhr.onreadystatechange = function(){   

     if(xhr.readyState === 4){ 

         if(xhr.status ===200){    console.log(xhr.responseText);       }  

     }else  {
     console.log(xhr.status); }  
 }
xhr.send();

当时输出了两个200 的状态码,然后才输出xhr.responseText, 获取到的内容。 当时很奇怪,不知道这两个200 是怎么来的?


当时尝试输出不少内容,但还是找不到原因。 只有到把else 语句中改为 console.log(xhr.readystate)才发现了问题,这时输出结查依次是2,3,获取到的内容。 这时才发现原因:


xhr 发送请求到请求结束,会经过5种状态,状态码依次是0,1,2,3,4(就是readystate 的值),状态每发生改变一次,就会触发readystatechange事件,调用事件处理函数。 当 状态码是变化到2时,它调用readystatechange 事件,然后走 if/else 语句,


这是 readystate 显然不是4,然后走else 语句 输出 2. 以此类推,3,4 的时候再调用readystatechange 事件, 只有4 时才走if 里面的内容,请求成功,返回请求内容。


关于“Ajax犯的错误怎么处理”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。


当前名称:Ajax犯的错误怎么处理-创新互联
标题路径:http://azwzsj.com/article/doisdj.html