最近的一个微信小程序项目需要上传图片,自然就要用到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的问题。