出现 errMsg: “request:fail response data convert to utf8 fail”
wx.request({
url: “https://www.example.com/api”,
data: “post data string”,
method: ‘POST’,
header: {
“content-type”: “text/plain”
},
success: function (res) {
console.log([“success”, res]);
},
fail: function (res) {
console.log([“failed”, res])
},
complete: function () {
// complete
console.log(“complete”);
}
});
开发工具 和 安卓真机 都正常,iPhone上报错,感觉是当成json数据解析。
实际上返回的是应该是图片二进制数据, 尝试请求时增加 dataType: “text” 无效, 增加 header:{“accept”: “image/*”} 也无效。
希望尽快修复。
@Special 返回的是图片二进制数据,的确不是有效的UTF8字符串
于是iPhone的微信上我没办法获取这些响应的原始数据。(对方 HTTP/1.1 200 OK 的)
其实我觉得不管如何,wx.request需要有获取返回的Header,以及原始响应信息的方法
因为有些接口需要客户端这边对原始信息进行校验的,或者用解密算法处理原始二进制数据
自动进行 JSON.parse 只能作为一种满足普遍需求的辅助行为