收藏
回答

wx.uploadFile调用的时候返回的res.data无法读取到再下一层,是我代码错了么?

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"}

有没有大哥知道我哪出问题了

最后一次编辑于  2020-05-25
回答关注问题邀请回答
收藏

3 个回答

  • o0o有脾气的酸奶
    o0o有脾气的酸奶
    2020-05-25
    打印一下res
    successres => {
      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
            })
        }
    })
    


    若认为该回答有用,给回答者点个[ 有用 ],让答案帮助更多的人

    2020-05-25
    有用 1
    回复 5
    • 我爱学习,学习使我快乐
      我爱学习,学习使我快乐
      2020-05-25
      2020-05-25
      回复
    • o0o有脾气的酸奶
      o0o有脾气的酸奶
      2020-05-25回复我爱学习,学习使我快乐
      data是json字符串,要JSON.parse()一下,转成JSON对象,才能点img_name
      2020-05-25
      回复
    • 我爱学习,学习使我快乐
      我爱学习,学习使我快乐
      2020-05-25
      我在wx.request的不用这么干。。。我去。。。
      2020-05-25
      回复
    • o0o有脾气的酸奶
      o0o有脾气的酸奶
      2020-05-25回复我爱学习,学习使我快乐
      哈?
      2020-05-25
      回复
    • 我爱学习,学习使我快乐
      我爱学习,学习使我快乐
      2020-05-25回复o0o有脾气的酸奶
      我这个是可以正常用的,就没考虑到要JSON.parse
      2020-05-25
      回复
  • 🍉好好学习天天向上🍎
    🍉好好学习天天向上🍎
    2023-03-22

    wx.uploadFile success返回的res.data类型是string,所以不能直接对象取属性值,JSON转换下即可。

    那为什么wx.request 又可以,那是因为wx.request success返回的res.data类型是string/Object/Arraybuffer。

    2023-03-22
    有用
    回复
  • xplee
    xplee
    发表于小程序端
    2020-05-25
    res.imgname
    2020-05-25
    有用
    回复
登录 后发表内容
问题标签