官方地址:https://developers.weixin.qq.com/miniprogram/dev/api/network/request/wx.request.html
网络请求
微信提供了专门的API接口,用于发送网络请求: wx.request(object, object)
在调用接口时,要先在小程序中配置。小程序只能跟指定的域名进行网络通信。
但是在开发阶段,可以不校验合法域名(仅供开发)。

原生的网络请求
1. 最基本的get请求
wx.request({
url: 'http://www.fujingwen.com:8000/api/ok',
success: function(res){
console.log(res);
}
})
2. get请求,带参数
3. post请求
4. post请求,带参数
wx.request({
url: 'http://httpbin.org/post', // 请求地址
method: "post", // 请求的方式
data: { // 参数
page: 1,
name: "sell"
},
success: function(res){ // 请求成功的回调
console.log(res);
},
fail: function(error){ // 请求失败的回调
console.log(error);
}
})
网络请求的参数
参数 | 类型 | 默认值 | 是否必填 | 说明 |
---|---|---|---|---|
url | string | true | 必填 接口地址 | |
method | string | GET | false | 请求方法 |
data | object | false | 参数 | |
header | Object | false | 一般用在登录的时候,token | |
dataype | string | false | 返回数据的格式,一般是json |
封装网络请求
为啥要封装:
- 降低wx:request和网络请求的耦合度
- 调用方式太古老了,我想使用promise的方式获取回调结果
promise最大的好处是防止出现回调地狱
比如我新建一个js文件,封装网络请求
// 封装网络请求,promise的方式
export default function request(options){
return new Promise((resolve, reject) => {
wx.request({
url: options.url,
method: options.method || "GET",
data: options.data || {},
success: resolve,
fail: reject,
})
})
}
使用:
import request from "./../../service/network.js";
request({
url: "http://www.fujingwen.com:8000/api/ok"
}).then(res => {
console.log(res);
}).catch(error => {
console.log(error);
})
网友评论