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。