vue.js axios使用

1. 自定义配置

/**
 * Created by superman on 17/2/16.
 * http配置
 */

import axios from 'axios'
import utils from '@/config/cookieUtils'

// axios 配置
axios.defaults.baseURL = store.state.gateway_url

axios.defaults.headers.post['Content-Type'] = 'application/json'

// http request 拦截器
axios.interceptors.request.use(
  config => {
      config.headers['Access-Token'] = 'xxxxxxxxxxx'
    return config
  },
  err => {
    return Promise.reject(err)
})

// http response 拦截器
axios.interceptors.response.use(
  response => {
    var serverResult = response.data.serverResult
    if (serverResult && serverResult.resultCode !== '200' && serverResult.resultCode !== '10007' && serverResult.resultCode !== '10008' && serverResult.resultCode !== '10010') {
      var msg = serverResult.resultMessage
      console.log('msg = ' + msg)
      return Promise.reject(response)
    }
    return response
  },
  error => {
    // console.log(JSON.stringify(error));//console : Error: Request failed with status code 402
    if (error.response && error.response.data) {
      var errorJson = error.response.data
      if (errorJson.resultCode && errorJson.resultCode === 4210) {
        ElementUI.Message(
          {
            type: 'error',
            message: '您的账号是退出状态,请重新登录!',
            onClose: function () {
              location.reload()
            }
          })
        return
      }
    }
    return Promise.reject(error.response.data)
})

export default axios

  

 

 

2.引入配置

 

import axios from '@/config/http'

Vue.prototype.axios = axios

/* eslint-disable no-new */
const starter = new Vue({
  el: '#app',
  i18n,
  router,
  store,
  axios,
  lodash,
  render: h => h(App)
})

  

 

转载于:https://www.cnblogs.com/scode2/p/11132012.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值