wx.uploadFile回调函数接收到后端传过来的值是字符串而不是json数据

最近的一个微信小程序项目需要上传图片,自然就要用到wx.uploadFile()。

最开始能够正常发送请求,并能够通过res.data.code获取到后端传过来的code字段值。

后来不知道怎么的就莫名其妙获取不到,一直是undefined。

经过差不多两天的研究.......发现

在success回调函数中res.data收到的结果竟然不是json格式而是一段字符串!!!

那么要取到其中的code字段就很容易了

使用split把字符串分割成数组再取到就行了

比如我后端传过来的结果是:

data: "{"code":0,"message":"success","data":null}"

可以看出res.data确实是一段字符串......

解决办法有两个:

1、把字符串分割成数组

let aa = data.data
let bb = aa.split(",")[0]
let cc = bb.split(":")[1]

这样就得到了想要的code的值(String类型)

2、转换为json格式

let resp = JSON.parse(res.data)
// rest code...

当然,出现的问题不仅如此,还有就是在控制台可以看到Provisional headers are shown。

很遗憾的是,试了网上各种方法,都没有解决,包括:

ssl证书问题

上线就正常

请求改为"POST"(不是默认就是post吗??)

PS:因为只要我的图片能够上传,能够接收到后端传过来的数据就行,所以没有管Provisional headers are shown的问题。

 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值