微信浏览器,网络请求状态码为0怎么办

     在此记录这个蛋疼的问题,弄了半天才恍然大悟。

     在真机的微信浏览器上调试项目的时候 ,发现所有的网络请求都失败了 。通过调试发现状态码都是0,于是从这个状态码开始排查问题。

     首先要搞清楚0这个网络状态码怎么产生的(不是常见的300+,200+,400+)。如果请求已经成功发出,那么网络状态码就应该是我们常见的200+至500+。之所以会产生0这个状态码,是因为xhr对象中的open()方法就出了错误,导致send()根本没执行,具体的各个状态码看下表:

  • 0 - (未初始化)还没有调用send()方法

  • 1 - (载入)已调用send()方法,正在发送请求

  • 2 - (载入完成)send()方法执行完成,

  • 3 - (交互)正在解析响应内容

  • 4 - (完成)响应内容解析完成,可以在客户端调用了

    由此我们基本可以定位到问题了,应该就出现在open()这个部分! 我们再看下open()需要哪些参数:

    一般情况下是这样 xhr.open(请求方式, url, 是否异步);

     一定要仔细检查自己代码的问题,如果为0,必然是此处的问题。我就是一度怀疑微信的x5内核,导致找了半天问题。最终我的问题是出在了url上。 由于接口地址是内网的,导致非内网环境全部报0。排查的时候看地址是平常访问的没毛病(没回过来弯 - -!)。又弄了很久才在同事的提醒下恍然大悟

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值