wx.uploadFile({
url: '',
filePath: this.data.imgpath,
name: 'img',
success: res => {
this.setData({
imgname: res.data.imgname,
value: this.data.index,
})
正常200的,返回的是{"result": "success", "imgname": "20200524_235718"}
但是就算我原本的 imgname 有值 经过success的回调函数后 imgname会被删除 ,但是value 的值会正常变化。
如果改为
imgname: res.data,
也可以正常赋值 得到 imgname : {"result": "success", "imgname": "20200524_235718"}
有没有大哥知道我哪出问题了
打印一下res success: res => { console.log(res) }
==============================
data是json字符串,要JSON.parse()一下,转成JSON对象,才能点img_name
wx.uploadFile({ url: "", filePath: this.data.imgpath, name: 'docnument', success: res => { res = JSON.parse(res.data) this.setData({ img_name: res.img_name }) } })
若认为该回答有用,给回答者点个[ 有用 ],让答案帮助更多的人
昨晚测试的时候我把imgname改成了img_name试了下,还不行
wx.uploadFile({
url: "",
filePath: this.data.imgpath,
name: 'docnument',
success: res => {
console.log(res),
this.setData({
img_name: res.data.img_name
})
}
})
wx.uploadFile({
url: "",
filePath: this.data.imgpath,
name: 'docnument',
success: res => {
res = JSON.parse(res.data)
this.setData({
img_name: res.img_name
})
}
})
wx.request({
method: "POST",
url: "",
data: {
token: "wechat",
},
success: res => {
if (res.data.result == "success") {
this.setData({
login_Juris: res.data.login_Juris
})
}
}
})
wx.uploadFile success返回的res.data类型是string,所以不能直接对象取属性值,JSON转换下即可。
那为什么wx.request 又可以,那是因为wx.request success返回的res.data类型是string/Object/Arraybuffer。