* Bug 表现是什么?预期表现是什么?
同一个url,wx.request 返回值,在开发者工具中是json对象,手机上是string,而且用JSON.parse解析后会报错,报错信息如图
* 如何复现?
* 提供一个最简复现 Demo
wx.request({ url: 'https://www.qiaobooks.com/Public/bookcontent/book_content_all_3694_1508167685.json' , dataType: 'json' , success: function (res) { console.log(res.data); //开发者工具中是json对象,手机上是string JSON.parse(res.data); //报错,见上图 } }); |
解决方案:清除服务器返回的json格式中的空格。
1、查看是否有空格:
2、删除空格:
这个删除空格不是直接使用函数删除,是因为服务器页面的编码导致的。请将相关的文件的编码使用notepad++转化成utf8无bom格式(根据自己的实际使用情况而定)
点击【编码】-如果发现当前文件的编码是utf-8-bom格式,就选择【转化为utf-8】编码。
转化完编码,再在微信开发者工具查看,发现多处的符号没有了。
真机访问
到了同样的问题,res.data 在开发者工具中是json对象,手机上是string
请问最后是怎么解决的?
遇到了同样的问题,res.data 在开发者工具中是json对象,手机上是string
请问最后是怎么解决的?
请问楼主问题有解决吗?
遇到同样的问题,之前一直可以,就最近两天发现这个问题,官方能具体说说什么原因造成的吗?没有任何改动,之前一直正常
是啊,我就是用typeof的啊。我的问题不是怎么判断是不是字符串,而是我已经判断出了是字符串
我之所以要你这么做,是因为我看到你手机调试的那个图,显示的结果可能就是一个对象来的
你要判断他是不是字符串,你可以尝试一下typeof 结果,如果是字符串则返回String,如果是对象则返回Object,你要用这种方式来判断
打开调试
你是如何判断在手机上是字符串的呢?