小程序网络返回数据在真机上未能解析为json,开发工具上是正常的。
wx.request发出一个请求,接口响应为
Content-Type:
application/json;charset=UTF-8
的一个数据。
绝大部分情况下都是正常的respones.data为object类型,但是有一个,在真机上取到的respones.data 是string类型。
可能不是小程序的问题,但是这个情况很费解。
const app = getApp() Page({ data: { msg: '' }, onLoad: function () { const self = this wx.request({ url: 'https://class.dxy.cn/japi/platform/122120007?id=3' , success: (res) => {
// 调试工具为object 真机为string this .setData({ msg: 'typeof res.data:' + typeof res.data }) } }) }, }) |
小程序网络返回数据在真机上未能解析为json, 需要appid以便在真机上复现。
代码片段
wechatide://minicode/3hdmzEmZ6jZH
4 回复
wx.request方法解析的时候出错导致的,有可能是你返回的数据中存在无法解析的内容。我的后台用的叔nodejs,遇到的是因为空格导致的解析失败。
将返回的内容替换一下就正确解析了。 string = string.replace(/\s/g," ");