wx.request
小程序中前端访问后台数据库,使用的wx.request方法,与网页中jquery的ajax相似。
基本格式
基本格式与ajax很相似,参数的含义基本是一样的。
区别:header部分是ajax中没有的,但是很简单,参数是固定的。
举例
wx.request({
url: 'http://localhost:8081/usualService/addVolunteerService',
data: {
token: app.globalData.token
},
method: 'GET',
header: {
'content-type': 'application/json',
},
success: function (res) {
console.log(res);
}
})
详细可以参考官方文档
https://developers.weixin.qq.com/miniprogram/dev/api/network/request/wx.request.html
this使用
之前在学习写网页的时候,也记得有过this这个东西,但是当时也没太深究它的用法。可是到了小程序中,this变得常用了。尤其是js中遇到给data赋值的时候,要用this.setData( )。
在wx.request中,又是也会遇到需要在请求成功的回调函数中实现对data的赋值,如果这个时候,也像之前一样this.setData( ),就会发现报错了,原因是此处this不再是你想指代的那个this了。
在成功回调函数中使用this,其实此时的this指代的是包含success函数的wx.request方法了,并不是你想指代的那个Page。
所以,要想在此处给Page中的data赋值,要在wx.request调用之前,把this保存下来
test:function()
{
var that = this;
wx.request({
url: '',
data: { },
method: 'GET',
header: {
'content-type': 'application/json',
},
success: function (res) {
that.setData({});
}
)}
}
这样就可以了。