想要从数据库取出数据(已经实现),传递给wx.request函数后报错
key is not defined
请问如何定义变量并传递呢?
console.log("Send",that.data.inputValue)
const db = wx.cloud.database()
db.collection('APIKEY').where({
_id: '1'
}).get({
success: function(res) {
console.log("API:",res.data[0].key)
///问题部分
let key = res.data[0].key //???
///
}
})
wx.request({
url: _url,
//问题部分
data:{
key:key, //???
},
header: {
'Content-Type': 'application/json'
},
//请求成功的回调
success: function(res) {
你的key要在同一个函数体内才能使用吖。
const db = wx.cloud.database() db.collection('APIKEY').where({ _id: '1' }).get({ success: (res)=> { console.log("API:",res.data[0].key) let key = res.data[0].key //??? wx.request({ url: _url, data:{ key }, header: { 'Content-Type': 'application/json' }, //请求成功的回调 success: function(rsp) {} }) } })
你的key写到上面success里面。你写到外面这个key是未定义的
onLoad() { const db = wx.cloud.database() db.collection('APIKEY').where({ _id: '1' }).get({ success: (res)=> { console.log("API:",res.data[0].key) let key = res.data[0].key this.searchData(key) } }) }, searchData(key) { wx.request({ url: _url, data:{ key }, header: { 'Content-Type': 'application/json' }, //请求成功的回调 success: function(rsp) {} }) }