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。你可以修改一下你的代码,然后再试试看。