axios封装

import axios from 'axios';
import Qs from 'qs'
import {
    Message
} from 'element-ui'
const service = axios.create({
    baseURL: '/api',
    timeout: 0,
    validateStatus: function (status) {
        return status >= 200 && status < 300;
    }
})
service.defaults.headers = {
    'X-Requested-With': 'XMLHttpRequest',
    "Content-Type": "application/x-www-form-urlencoded;charset=utf-8"
};
service.interceptors.request.use(config => {
    if (config.method.toLocaleLowerCase() === 'post' 
         || config.method.toLocaleLowerCase() === 'put' 
         || config.method.toLocaleLowerCase() === 'delete') {
           config.data = qs.stringify(config.data)
     }
    if (config.url.indexOf('?') >= 0) {
        config.url += ('&_t=' + new Date().getTime());
    } else {
        config.url += '?_t=' + new Date().getTime();
    }
    return config
}, error => {
    Promise.reject(error)
})
service.interceptors.response.use(
    response => {
        return response.data;
    },
    error => {
        console.log('err' + error)
        Message({
            message: error.message,
            type: 'error',
            duration: 5 * 1000
        })
        return Promise.reject(error)
    })
export default service
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1、在Vue-cli里基于axios封装复用请求2、vue中axios的封装3、# vue2.0项目实战(3)使用...
    罗小耳阅读 4,223评论 1 3
  • axios最新版本已经不支持jsonp方法了,不想因为一个jsonp请求就又去引一个依赖,所以决定自己封装一下
    coffee_me阅读 12,939评论 0 4
  • 项目开发中网络请求这块的封装在这里记录一下已解决 重复提交 表单和JSON种格式的参数提交方式 代码如下:
    Young_Kind阅读 5,090评论 0 3
  • 公司项目要求用H5写 作为一个iOS菜鸟搞起来啊,首先是搭建项目框架,项目框架直接用vue-cli搭建好,接下来是...
    千里111阅读 5,071评论 0 3
  • 已经开发了几个vue项目,然后对 axios的封装 不断优化。现在我用起来也比较方便。2019-04-05更新 把...
    xilong阅读 14,474评论 1 20