收藏
回答

wx.request 请求wpi 返回数据,this.setData无返回数据

问题模块 框架类型 API/组件名称 终端类型 操作系统 微信版本 基础库版本
API和组件 小程序 wx.request 客户端 Android 6.6.5 1.9.92

wx.request 请求wpi 返回数据,this.setData无返回数据,使用

wx.showToast({title: ticketnum,icon: 'success',duration: 2000})   返回数据可以正常返回服务器数据,使用

this.setData({

ticketnum: "123" + res.data,

})  返回数据异常,返回出现获取不到的情况,调试页面也会报undefiend


//扫码成功,请求webAPI  

wx.request({

url: '',

method:'POST',

data: {

//ticketno: 'ffa30f5f4b56403d80e3ce2322fdae99',

ticketno: res.result

},

header: {

//'content-type': 'application/json' // 默认值

'content-type': 'application/x-www-form-urlencoded'

},


//webApi 返回数据

success: function (res) {


this.setData({

ticketnum: "123" + res.data,

})

// var that=this;

// that.setData({

//   ticketnum: "123"+res.data,

// })

wx.showToast({

title: ticketnum,

icon: 'success',

duration: 2000

})



},

fail: (res) => {

wx.showToast({

title: '查票失败',

icon: 'success',

duration: 2000

})

}

})


最后一次编辑于  2018-03-08  (未经腾讯允许,不得转载)
回答关注问题邀请回答
收藏

5 个回答

  • 调理大师张半仙
    调理大师张半仙
    2018-03-28

    我和你写法 差不多 但是 我在预览的时候 在手机无法跳转页面

    2018-03-28
    赞同
    回复
  • 龙
    龙
    2018-03-08

    2楼回答正确, 谢谢2楼

    2018-03-08
    赞同
    回复
  • 这都申请了
    这都申请了
    2018-03-08

    undefiend的不是数据而是setData方法,作用域了解一下

    2018-03-08
    赞同
    回复
  • 宝二爷👻
    宝二爷👻
    2018-03-08

    你this  指代的是 request的这个对象而不是全局的page对象

    请在request外面定义一个

    const that = this
     
    //request
     
    *******
     
    success:function(res){
     
        that.setData({
     
            *******
     
        })
     
    }


    2018-03-08
    赞同
    回复
  • k.
    k.
    2018-03-08

    你直接在回调函数里面写this.setData,this的指向不会发生改变吗?没有报错吗?

    2018-03-08
    赞同
    回复