参考博客:
(1)wx-request封装:https://www.jianshu.com/p/ad1...
(2)setData()方法的使用和注意事项:https://blog.csdn.net/qq_3859...html
在app.js下配置host域名web
// wx.request封装 const app = getApp() const request = (url, options) => { return new Promise((resolve, reject) => { wx.request({ url: `${app.globalData.host}${url}`,//获取域名接口地址 method: options.method, //配置method方法 data: options.method === 'GET' ? options.data : JSON.stringify(options.data), //若是是GET,GET自动让数据成为query String,其余方法须要让options.data转化为字符串 header: { 'Content-Type': 'application/json; charset=UTF-8', 'token':token }, //header中能够监听到token值的变化 success(request) { //监听成功后的操做 if (request.data.code === 10000) { //此处10000是项目中数据获取成功后返回的值,成功后将request.data传入resolve方法中 resolve(request.data) } else { //若是没有获取成功返回值,把request.data传入到reject中 reject(request.data) } }, fail(error) { //返回失败也一样传入reject()方法 reject(error.data) } }) }) } //封装get方法 const get = (url, options = {}) => { return request(url, { method: 'GET', data: options }) } //封装post方法 const post = (url, options) => { return request(url, { method: 'POST', data: options }) } //封装put方法 const put = (url, options) => { return request(url, { method: 'PUT', data: options }) } //封装remove方法 // 不能声明DELETE(关键字) const remove = (url, options) => { return request(url, { method: 'DELETE', data: options }) } //抛出wx.request的post,get,put,remove方法 module.exports = { get, post, put, remove }
const getMainPage = 'api/mainPage/getMainPage' // 获取首页资源 //抛出getMainPage这个常量 module.exports = { getMainPage }
import { getMainPage} from '../api/api.js' import api from '../../utils/request.js'
/** * 生命周期函数--监听页面加载 */ onLoad: function(options) { //调用接口 api.post(getMainPage).then(res => { //成功时回调函数 console.log(res) }).catch(err => { //失败时回调函数 console.log(err) }) },
备注:json
必须使用setData()来触发数据的更新
缘由:
能够参考官网地址: https://developers.weixin.qq....小程序
Page.prototype.setData(Object data, Function callback)板块api