前言:vue的axios基于promise的http库,可以运行在浏览器和node环境中
一:api封装文件
request..js
import 'axios' from 'axios'//引用axios插件 npm install axios --s
import {Message} from 'element-ui'
import store from '@/store'
import {getToken} from '@/utils/auth'
//创建axios
const http= axios.create({
baseURL :process.env.VUE_APP_BASE_API,//url = base url + request url
timeout:15000//request timeout
})
//request interceptors //创建拦截器
http.interceptors.request.use(
config =>{
if(store.getters.token){
config.header['Authorization'] = getToken()
}
return config
}
error =>{
console.log(error)
return Promise.reject(error)
}
)
//拦截器响应拦截
http.interceptors.request.use(
response = >{
const res = response.data
if(res.code !== 200){
Message({
message:res.message||'Error',
type:'error',
duration:5*1000
})
return Promise.reject(new Error(res.message)||'Error')
}else{
return res
}
},
error = >{
Message({
message:error.message,
type:'error',
duration:5*1000
})
return Promise.reject(error)
}
}
)
export default http
二、api引用 src/api/datas.js
import http from '@/utils/http'
export function getData (data){
return http ({
url:'xxxxx',
method:'post',
data
})
}
三,.vue页面引用
import {getData} from '@/api/datas'
getData().then(res){
if(res.code == 200){this.$message.success('请求成功')}
}
纯手敲,应用需要修改,另一个大哥网址
https://blog.csdn.net/fzy_1939/article/details/125889440
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通