这两天做小程序遇到的一个很恶心的问题。
我用测试工具和IOS手机测试的时候, wx.request都正常请求和返回数据,但是用安卓手机的时候回request返回状态一直是failed。之前怀疑过是证书的问题, 但是并不是所有的request都是failed状态,有一些request可以正常请求。
后来逐步排查,终于发现是Request Headers 里的 Accept-Encoding 有问题。
我这边请求的时候Accept-Encoding 值是默认的 gzip,但是小程序在安卓中gzip格式支持的并不是很好,解析不了。所以出现了一直是failed状态,而有些请求因为返回的数据很小,没有被压缩所以可以正常被请求到。
IOS因为浏览器都是苹果自己的一套东西,在这方面支持的比较好所以没有出现这个问题。
解决方法是设置 Accept-Encodin = ‘’; 就可以了。