网络请求
由于平台的限制,小程序项目中不支持axios,而且原生的wx.request()
API功能较为简单,不支持拦截器等全局定制的功能
建议在uni-app项目中使用@escook/request-miniprogram第三方包发起网络数据请求
在main.js中将request-miniprogram的$http挂载到全局
import { $http } from '@escook/request-miniprogram'
uni.$http = $http // 挂载到全局的uni对象
$http的请求方法
$http.get(url, data?) GET请求,data是可选参数对象
$http.post(url, data?) POST请求,data是可选参数对象
$http.put(url, data?) PUT请求,data是可选参数对象
$http.delete(url, data?) DELETE请求,data是可选参数对象
$http的根路径
$http.baseUrl = 'https://api-ugo-web.itheima.net' // 设置根路径
$http的拦截器
请求拦截
$http.beforeRequest = (options) => { // 请求拦截
// options为配置参数
options.header = {'X-Test': 'AAA',} // 自定义请求头
uni.showLoading({
title:"数据加载中" // 业务逻辑 (加载提示)
})
}
响应拦截
$http.afterRequest = () => { // 响应拦截 请求完成之后
uni.hideLoading()
}