Vue2使用axios,request.js和vue.config.js

Posted 晓晓晓渡

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Vue2使用axios,request.js和vue.config.js相关的知识,希望对你有一定的参考价值。

1.配置request.js,用来请求数据

import axios from \'axios\'

// 1:利用axios对象的方法create,创建一个axios实例
// 2:request就是axios,但可以稍加配置
const request = axios.create(
    baseURL: \'/api\',  // 注意!! 这里是全局统一加上了 \'/api\' 前缀,也就是说所有接口都会加上\'/api\'前缀在,页面里面写接口的时候就不要加 \'/api\'了,否则会出现2个\'/api\',类似 \'/api/api/user\'这样的报错,切记!!!
    timeout: 5000
)

// request 拦截器,请求拦截器,在发请求之前,请求拦截器可以检测到
// 可以自请求发送前对请求做一些处理
// 比如统一加token,对请求参数统一加密
request.interceptors.request.use(config => 
    config.headers[\'Content-Type\'] = \'application/json;charset=utf-8\';
  
 // config.headers[\'token\'] = user.token;  // 设置请求头
    return config
, error => 
    return Promise.reject(error)
);

// response 拦截器, 响应拦截器
// 可以在接口响应后统一处理结果
request.interceptors.response.use(
    response => 
        let res = response.data;
        // 如果是返回的文件
        if (response.config.responseType === \'blob\') 
            return res
        
        // 兼容服务端返回的字符串数据
        if (typeof res === \'string\') 
            res = res ? JSON.parse(res) : res
        
        return res;
    ,
    error => 
        console.log(\'err\' + error) // for debug
        return Promise.reject(error)
    
)

// 对外暴露
export default request

2.再main.js中注册

// 引入axios配置
import request from \'./api/request\';
Vue.prototype.request = request

 

以上是关于Vue2使用axios,request.js和vue.config.js的主要内容,如果未能解决你的问题,请参考以下文章

Vue2学习小记-给Vue2路由导航钩子和axios拦截器做个封装

vue2.0 之 axios

axios拦截,api统一管理

axios拦截,api统一管理

vue2.0项目实战--使用axios发送请求

network/request.js网络请求模块封装