主页 > 知识库 > Ajax犯的错误处理方法

Ajax犯的错误处理方法

热门标签:团购网站 科大讯飞语音识别系统 阿里云 服务器配置 Linux服务器 Mysql连接数设置 银行业务 电子围栏

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

var xhr = new XMLHttpRequest(); 
xhr.open("get",strUrl);br>
br>xhr.onreadystatechange = function(){   
br>br>   
 if(xhr.readyState === 4){ 
br>br>em id="__mceDel">        
if(xhr.status ===200){   
console.log(xhr.responseText);      
}  
br>br>/em>em style="line-height: 1.5;" id="__mceDel">
em id="__mceDel">em id="__mceDel">em id="__mceDel">    
}else /em>/em>/em>/em>em style="line-height: 1.5;" id="__mceDel">em id="__mceDel">em id="__mceDel">
em id="__mceDel">em id="__mceDel">{br>    
console.log(xhr.status); }  
br> }/em>/em>/em>/em>/em> 
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的data参数错误导致页面崩溃
  • 快速解决ajax请求出错状态码为0的问题
  • PHP 中使用ajax时一些常见错误总结整理
  • 完美解决ajax跨域请求下parsererror的错误
  • ajax跨域访问报错501的解决方法
  • jQuery中ajax错误调试分析
  • Ajax向后台传json格式的数据出现415错误的原因分析及解决方法
  • js ajaxfileupload.js上传报错的解决方法
  • 解决ajax返回验证的时候总是弹出error错误的方法
  • Jquery Ajax Error 调试错误的技巧
  • django使用ajax post数据出现403错误如何解决
  • Ajax报错400的参考解决办法

标签:衡水 蚌埠 大理 萍乡 枣庄 衢州 广元 江苏

巨人网络通讯声明:本文标题《Ajax犯的错误处理方法》,本文关键词  ;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 收缩
    • 微信客服
    • 微信二维码
    • 电话咨询

    • 400-1100-266