No Description

request.js 1.4KB

    import axios from 'axios' import qs from 'qs' import { comUrl } from '@/utils/index' // 创建axios实例 const service = axios.create({ baseURL: comUrl, // api的base_url // timeout: 5000, // 请求超时时间 paramsSerializer: function(params) { return qs.stringify(params, { arrayFormat: 'repeat' }) } }) // request拦截器 service.interceptors.request.use(config => { // 配置config config.headers.Accept = 'application/json' if (config.method === 'post') { config.data = qs.stringify(config.data, { arrayFormat: 'repeat' }) // 处理后后台无需添加RequestBody config.headers['Content-Type'] = 'application/x-www-form-urlencoded; charset=UTF-8' } if (localStorage.token) { config.headers.Authorization = localStorage.token } return config }, error => { Promise.reject(error) }) // respone拦截器 service.interceptors.response.use(response => { let data = response.data const status = response.status if (status === 200) { if (response.data === undefined) { // 解决IE9数据问题 data = response.request.responseText } else { data = response.data } if (!(data instanceof Object)) { // 判断data不是Object时,解析成Object // data = JSON.parse(data) } return response.data } else { return Promise.resolve(response) } }, error => { return Promise.reject(error) }) export default service