VUE axios的安装和使用及封装

路径src/network/request.js

import axios from ‘axios’;
import {Notify, Toast} from ‘vant’;
import router from ‘…/router’
axios.defaults.baseURL = “http://localhost:3000/users/”; // 关键步骤–填写后台请求统一的地址
axios.defaults.headers.post[‘Content-Type’] = ‘application/x-www-form-urlencoded’;
export function request(config){
const instance = axios.create({
baseURL:‘https://192.168.5.6’,
timeout:5000
});
//请求拦截
instance.interceptors.request.use(config=>{
// 如果API需要认证, 在这统一设置
const token = window.localStorage.getItem(‘token’);
if(token) {
config.headers.Authorization = ‘Bearer ‘+token;
}
return config;
}, err=>{
})
//响应拦截
instance.interceptors.response.use(res=>{
return res.data ? res.data : res;
}, err=>{
// 如果没有授权, 去login
if(err.response.status == ‘401’) {
Toast.fail(‘请先登录’)
router.push({path:’/login’})
}
// 如果有错误, 在这里可以提示
// Notify(err.response.data.errors[Object.keys(err.response.data.errors)[0]][0]);
Notify(err.response.data.errors[Object.keys(err.response.data.errors)[0]][0])
})
return instance(config)
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
对于Vueaxios封装使用,通常可以按照以下步骤进行: 1. 首先,在项目中安装axiosvue-axios插件。可以通过以下命令来安装: ``` npm install axios vue-axios ``` 2. 在main.js文件中引入axiosvue-axios,并将其配置为Vue的全局属性: ```javascript import axios from 'axios'; import VueAxios from 'vue-axios'; Vue.use(VueAxios, axios); ``` 3. 创建一个api.js或者request.js文件,用来封装axios的一些请求方法。这个文件中可以定义一些通用的请求拦截器和响应拦截器,以及一些常用的请求方法。例如: ```javascript import axios from 'axios'; // 请求拦截器 axios.interceptors.request.use(config => { // 在发送请求之前做些什么,比如添加token到请求头部 return config; }, error => { // 对请求错误做些什么 return Promise.reject(error); }); // 响应拦截器 axios.interceptors.response.use(response => { // 对响应数据做些什么 return response.data; }, error => { // 对响应错误做些什么 return Promise.reject(error); }); // 封装GET请求方法 export function get(url, params) { return axios.get(url, { params }); } // 封装POST请求方法 export function post(url, data) { return axios.post(url, data); } ``` 4. 在组件中使用封装好的请求方法。例如,在某个组件的方法中使用GET请求: ```javascript import { get } from '@/api'; export default { methods: { fetchData() { get('/api/data').then(response => { // 处理接口返回的数据 }).catch(error => { // 处理接口请求失败 }); } } } ``` 通过以上步骤,你可以在Vue项目中对axios进行封装使用,以便于统一管理和处理接口请求。当然,具体的封装方式可以根据项目需求进行调整和扩展。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

海澜明月

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值