小程序学习
记录下学习情况吧,虽然有一段时间了,总结起来比较麻烦了,但总要开始记录一些
1. 网络请求
- 1.1 直接看app.js代码里定义的网络请求方式
App({
onLaunch: function() {},
onShow: function() {},
getLocationInfo: function (obj,cb){
objToStr = JSON.stringify(obj);
wx.request({
url: 'https://×××',
data: {
checked_data:objToStr
},
header: {
'content-type': 'application/x-www-form-urlencoded'
},
method:'POST',
success: function (res) {
//console.log(res.data)
cb(res.data)
},
fail: function (res) {
cb(res.data)
// console.log(res.data)
}
})
}
})
注意这里的代码,是POST请求方式,'content-type'
值改成"Content-Type": "application/x-www-form-urlencoded"
,再在后面加上method:'POST',
成功与失败的方法中又一个回调函数cb(res.data)
data 数据说明:
**最终发送给服务器的数据是 String 类型,如果传入的 data 不是 String 类型,会被转换成 String 。转换规则如下: 对于
header['content-type']
为application/json
的数据,会对数据进行 JSON 序列化
对于header['content-type']
为application/x-www-form-urlencoded
的数据,会将数据转换成query string
**
看到文档里有这句话,所以需要将对象obj先转成String格式
objToStr = JSON.stringify(obj);
- 1.2 那就可以在页面代码中直接调用网络请求方法了
var app = getApp()
Page({
data({
obj:{},
}),
app.getLocationInfo(this.data.obj, function (data) {
console.log(data)
})
})
*注意需要在Page前先声明var app = getApp()
*其中data
数据即是cb
回调函数中所携带回来的res.data
参数
比较乱,暂且写着先把
参考: