牧麟
牧麟
  • 发布:2019-02-22 17:59
  • 更新:2020-03-06 16:28
  • 阅读:5439

uni.request中success返回的json被转义

分类:uni-app

uni.request(...success(res)...)后,返回的res中,用console.log(JSON.stringify(res.data));后,发现出来是这样
"{\"status\":\"ok\",\"data\":\"123\"}"
导致无法进行res.status判断,请问怎么解决,谢谢!

该返回的json是用php生成,在网页上进行测试,输出是没有问题的
{"status":"ok","data":"123"}

2019-02-22 17:59 负责人:无 分享
已邀请:
深海智行

深海智行 - 专注前端培训

这不废话么,你用JSON.stringify转义的,还说什么被转义。
这是正常的。
你js基础太弱,连字符串都认不清。。。

  • SSS2018

    大神,我想问下,uni-app请求数据量小的时候是对象,数据量大的时候就成字符串了,这是什么情况,我QQ:769445692 有偿提问

    2020-06-13 21:07

牧麟

牧麟 (作者)

谢谢,我是在处理上传文件的代码中生成json的,发现生成的json是字符串来的,导致不能正常解析,已改用直接返回文本结果进行解析。

j***@163.com

j***@163.com

怎么解决的

写代码的产品兔

写代码的产品兔

先console.log(res.data);看看原本返回的是json格式还是字符串
如果是字符串就用JSON.parse()转成json格式的

w***@126.com

w***@126.com

我也遇到这样问题,二天了,也没好

  • 深海智行

    帖子作者都醒悟了,你还没明白,分不清字符串和对象啊

    2020-03-20 12:18

  • w***@126.com

    后来发现是PHP后台源码的格式是utf-8-bom问题,格式改成utf-8后就好了。不是“字符串和对象”的基础知识问题!

    2020-04-24 04:19

该问题目前已经被锁定, 无法添加新回复