post请求,参数为键值对格式
wx.request({
url: 'http://192.168.1.103/yiji/skillList.php',
method: 'POST',
data:'pageSize=1&pageNum=10', //参数为键值对字符串
header: {
//设置参数内容类型为x-www-form-urlencoded
'content-type':'application/x-www-form-urlencoded',
'Accept': 'application/json'
},
success: function (res) {
console.log(res.data)
that.setData({
items: res.data
})
}
})
- 1data那里,我测试的结果是,不可以这样写。要写成:
- data:{'pageSize':'18', 'pageNum':'10'}
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
POST请求,参数为json格式
wx.request({
url: 'test.php', //仅为示例,并非真实的接口地址
data: { //参数为json格式数据
x: '' ,
y: '',
z:12
},
header: {
//设置参数内容类型为json
'content-type': 'application/json'
},
success: function(res) {
console.log(res.data)
}
})
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
wx.request()获取响应时
Page({
data: {
motto: 'wzh ... '
},
//事件处理函数
onLoad: function (options) {
var that = this
//技能资讯列表
wx.request({
url: 'http://192.168.1.103/yiji/skillList.php',
method: 'POST',
data:'pageSize=1&pageNum=10',
header: {
'content-type':'application/x-www-form-urlencoded',
'Accept': 'application/json'
},
success: function (res) {
console.log(res.data)
//这样赋值现在是不能将数据传走的,必须使用setData()方法
//that.data.items = res.data ;
//官方文档指出必须使用setData()方法才能将数据传走
that.setData({
items: res.data
})
}
})
}
})
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
参考
-
Page.prototype.setData()
setData 函数用于将数据从逻辑层发送到视图层,同时改变对应的 this.data 的值。
setData() 参数格式
接受一个对象,以 key,value 的形式表示将 this.data 中的 key 对应的值改变成 value。
其中 key 可以非常灵活,以数据路径的形式给出,如 array[2].message,a.b.c.d,并且不需要在 this.data 中预先定义。
注意:
直接修改 this.data 而不调用 this.setData 是无法改变页面的状态的,还会造成数据不一致
单次设置的数据不能超过1024kB,请尽量避免一次设置过多的数据。
onLoad: function () {
var that = this;
wx.request({
url:app.globalData.url.api.home,
success: function(res) {
var matchsFirst = xxx;
var matchsSecond= xxx;
var matchsLast= xxx;
//这样直接赋值并不会把数据渲染到页面上的 不过 0.9版本的时候这样做是可以的
that.data.matchsFirst=matchsFirst;
that.data.matchsSecond=matchsSecond;
that.data.matchsLast=matchsLast;
}});
};
//应该安这种方式赋值
that.setData({
matchsFirst:matchsFirst,
matchsSecond:matchsSecond,
matchsLast:matchsLast
});