微信小程序中的变量调用


Data: {
    currentNumber:"3000ok123"
  },

onTapXiayiti: function (params) {

    wx.request({
      url: 'http://localhost/zerg/public/index.php/api/v1.banner/getquestionbyid?id=100001',
      data:{
        id:"100001"
      },
      success: (res) => {
        console.log(res.data[0].question_number);
        this.setData({
          currentNumber:res.data[0].question_number
        });
      }
    })
  },

 onTapTisi: function (params) {

    wx.request({
      url: 'http://localhost/zerg/public/index.php/api/v1.banner/updateUserCurrentNumber?id=30001&id1=100001',
      data:{
        id:this.Data.currentNumber,
        id1:"100002"
      },
     
    })
  },

我在js的data里定义了变量 currentNumber,初始值3000ok123,通过onTapXiayiti我成功从服务器数据库取到了值并付赋值给变量 currentNumber,在wxml里也成功调用变量 currentNumber更新后的值并显示成功,但我想用onTapTisi重新将currentNumber的值回传到数据库时,currentNumber的值总是回传的初始值3000ok123。请问怎么解决?

引用chatgpt内容作答:
看起来你的代码中存在一个小错误。在 onTapTisi 函数中,你应该使用 this.data.currentNumber 而不是 this.Data.currentNumber 来获取 currentNumber 的值。JavaScript 中的对象属性是区分大小写的,因此 this.data.currentNumber 将引用正确的变量。

所以,你的 onTapTisi 函数应该像这样进行修正:

onTapTisi: function (params) {
  wx.request({
    url: 'http://localhost/zerg/public/index.php/api/v1.banner/updateUserCurrentNumber?id=30001&id1=100001',
    data: {
      id: this.data.currentNumber, // Corrected line
      id1: "100002"
    },
    // ...
  });
}

通过这个修正,你应该能够正确地将 currentNumber 的值传递给服务器。

我看了你的代码,发现你在onTapTisi函数中使用了this.Data.currentNumber,这是不正确的,应该是this.data.currentNumber,注意data的首字母要小写。因为this.Data是undefined,所以你回传的值是初始值3000ok123。你可以修改一下你的代码,然后再试试看。