当前位置:   article > 正文

vue 全局使用 axios_vue中axios作为全局

vue中axios作为全局

vue 全局使用 axios,可以直接在 main.js 中引入 axios;也可以对 axios 进行封装,封装之后再引入到 main.js 中。总之要想全局使用,就得引入到 main.js 中,才行

 

1、安装 axios

npm install axios --save

 

2、直接引入到 main.js 中,代码如下

  1. // 引入axios
  2. import axios from 'axios';
  3. Vue.prototype.axios = axios; //axios是一个基于promise的HTTP库,没有install方法,不能使用Vue.use()的方式
  4. Vue.prototype.axios.interceptors.response.use(data => {
  5. //console.log(data.status);
  6. return data;
  7. });
  8. Vue.prototype.axios.interceptors.request.use(config => {
  9. return config;
  10. });

使用时直接使用 this.axios 即可

  1. this.axios.post('http://localhost/product/test').then( res => {
  2. this.msg = res.data.message;
  3. this.products = res.data.data;
  4. })

 

3、对 axios 进行封装

新建 api.js ,用于对 axios 进行封装

  1. import axios from 'axios'
  2. var api = axios.create({
  3. timeout: 5000,
  4. Headers: {'Content-Type': 'application/json'}
  5. //Headers: {'Content-Type': 'application/x-www-form-urlencoded'}
  6. })
  7. api.interceptors.request.use(config => {
  8. //config.headers['token'] = '01234567890';
  9. return config
  10. })
  11. api.interceptors.response.use(data => {
  12. return data
  13. })
  14. export default api;

在 main.js 中引入 api.js

  1. import api from './lib/api'
  2. Vue.prototype.$api = api

使用时直接使用 this.$api

  1. this.$api.post('http://localhost/product/asyncList','offset=0&pageSize=10',
  2. ).then(
  3. res => {this.msg = res.data.message;
  4. this.products = res.data.data;
  5. })

 

 

 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/548930
推荐阅读
相关标签
  

闽ICP备14008679号