调用文档里面提供的方法:直接搜索Request 就行 选中 wx.request 那一项
请求地址:https://developers.weixin.qq.com/miniprogram/dev/api/network/request/wx.request.html
<-- html -->
<button type="primary" bindtap="demoGETfn">GET请求</button>
<button type="warn" bindtap="demoPostfn">Post请求</button>
// index.js页面
// Ge请求
demoGETfn(){
// 查文档
// 拿到接口,再‘’‘’‘’‘’‘’‘’‘’‘’‘’‘根据接口参数 做请求
wx.request({
url: 'https://api.readhub.cn/topic',
data: {
pageSize: 10,
},
success (res) {
console.log(res)
}
})
},
// Post请求
demoPostfn(){
wx.request({
url: 'http://kumanxuan1.f3322.net:8001/auth/loginByWeb',
method: "Post",
data:{
username: "wx",
pwd: "wx",
},
// 这里没有Promise风格的写法
success(res){
console.log(res);
}
})
},
再来说一下数据请求的封装
1.先写一个require文件
function request(params) {
// 封装网络请求的代码
return new Promise(function (resolve, reject) {
wx.request({
url: params.url,
data: params.data || {},
header: params.header || {},
method: params.method || 'GET',
dataType: 'json',
success: function(res) {
resolve(res.data)
},
fail: function(err) {
wx.showToast({
title: err || '请求错误!',
})
reject(err)
}
})
})
}
// nodejs common
module.exports = {
requestApi: request
}
2.再用一个api.js文件接收
//(这里的服务器地址可以根据需求 进行替换)
// 开发的服务器
var baseUrl = 'http://kumanxuan1.f3322.net:8001'
// 测试的服务器
// var baseUrl = 'http://192.168.113.116:8637'
// 正式环境
// var baseUrl = 'http://www.mysite.com'
var homeApi = baseUrl + '/topic/list'
var loginApi = baseUrl + '/auth/loginByWeb'
module.exports = {
homeApi: homeApi,
loginApi: loginApi
}
3.在fetch.js文件里面写入接口函数并导出:
var api = require('./api.js')
var request = require('./requst.js')
function getHome(params) {
return request.requestApi({
url: api.homeApi
})
}
function LoginFn(params) {
return request.requestApi({
url: api.loginApi,
data: params,
header: {
'content-type': 'application/x-www-form-urlencoded'
},
method: 'POST'
})
}
module.exports = {
getHome: getHome,
LoginFn: LoginFn
}
这样就完成了数据请求的封装, 后面的只要引用就行了。
如何引入
因为请求是向服务端发送的代码, 所以用 - require引入
const fetch = require('../../request/fetch');
在方法里面调用
// Get请求
// 看文档
demoGETfn(){
fetch.getHome({
page:1,
size:20
}).then(res => {
console.log(res);
})
},
// Post请求
demoPostfn(){
fetch.LoginFn({
username: "jx",
pwd: "jx"
}).then(res => {
console.log(res);
})
},