wx.request 返回值,在开发者工具中是json对象,手机上是string

发布于 7 年前作者 houxiulan14765 次浏览最后编辑 7 年前来自 ask

* 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); //报错,见上图
    }
});
9 回复
guiying80
guiying801 楼6 年前

是啊,我就是用typeof的啊。我的问题不是怎么判断是不是字符串,而是我已经判断出了是字符串

xiafang
xiafang2 楼6 年前

遇到同样的问题,之前一直可以,就最近两天发现这个问题,官方能具体说说什么原因造成的吗?没有任何改动,之前一直正常

ylu
ylu3 楼6 年前

请问楼主问题有解决吗?

li59
li594 楼6 年前

到了同样的问题,res.data 在开发者工具中是json对象,手机上是string

请问最后是怎么解决的?

leihuang
leihuang5 楼6 年前

你要判断他是不是字符串,你可以尝试一下typeof 结果,如果是字符串则返回String,如果是对象则返回Object,你要用这种方式来判断

scao
scao6 楼6 年前

打开调试

fengyong
fengyong7 楼6 年前

我之所以要你这么做,是因为我看到你手机调试的那个图,显示的结果可能就是一个对象来的

hshen
hshen8 楼6 年前

遇到了同样的问题,res.data 在开发者工具中是json对象,手机上是string

请问最后是怎么解决的?

wkang
wkang9 楼5 年前

你是如何判断在手机上是字符串的呢?