vue如何自定义封装axios库
1. 创建文件 http.js
2. 导入axios
import axios from "axios"
3. 配置全局信息请求
//配置全局路径,如何配置了vue的网络代理则直接使用代理前缀即可
let baseURL = "/netRequest"
//设置全局发送的请求数据的类型为json
axios.defaults.headers.post['Content-Type'] = 'application/json';
axios.defaults.headers.put['Content-Type'] = 'application/json';
//创建全局http请求
const $http = axios.create({
baseURL
})
//设置全局请求过滤器
$http.interceptors.request.use(config => {
return config
})
// 设置全局响应过滤器
$http.interceptors.response.use(config => {
return config
})
4. 用全局$http发送http请求
//封装post请求
function requestPost(url,netInfo) {
return new Promise((resolve, reject) => {
//发送post请求
$http.post(url,JSON.stringify(netInfo)).then(res => {
//成功
resolve(res.data)
}).catch(err => {
//失败
reject(err.data)
})
})
}
//封装get请求
function requestGet(url) {
return new Promise((resolve, reject) => {
$http.get(url).then(res => {
//成功
resolve(res.data)
}).catch(err => {
reject(err.data)
})
})
}
//封装post请求
function requestDelete(url) {
return new Promise((resolve, reject) => {
$http.delete(url).then(res => {
//成功
resolve(res.data)
}).catch(err => {
reject(err.data)
})
})
}
//封装put请求
function requestPut(url,netInfo) {
return new Promise((resolve, reject) => {
$http.put(url,JSON.stringify(netInfo)).then(res => {
//成功
resolve(res.data)
}).catch(err => {
reject(err.data)
})
})
}
4. 导出接口
//导出接口
export {requestPost,requestGet,requestPut,requestDelete,requestFilePost}
5. 调用
//导入http.js文件
import {requestGet} from "../network/http.js";
//调用自定义方法
requestGet(url).then(res => {
//请求成功时调用的代码区
})
专心看人间!
分类:
vue
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通