VUE跨域配置以及头部携带token
第一步 跨域配置
config文件夹下的index.js添加如下代码
proxyTable: {'/back-stsem-php-api': { target: 'http://admin.dashglobal.io/', changeOrigin: true, pathRewrite: {'^/back-stsem-php-api': '' },sesure:false}},
src文件夹下创建api文件夹存放axios配置文件

http.js 配置如下
import axios from 'axios'
import qs from 'querystring'
axios.defaults.timeout = 12000
export default {httpGet (url, params) {return new Promise((resolve, reject) => {axios.get(url, {params: params}).then(res => {resolve(res.data)}).catch(error => {reject(error)})})},httpPost (url, params) {return new Promise((resolve, reject) => {axios.post(url, qs.stringify(params)).then(res => {resolve(res.data)}).catch(error => {reject(error)})})},httpFormData (url, params) {return new Promise((resolve, reject) => {axios.post(url, params).then(res => {resolve(res.data)}).catch(error => {reject(error)})})}
}
user.js axios 请求写法
import http from './http'
export const userCoinList = (params) => {return http.httpGet('/back-stsem-php-api/api/client/user_coin_list', params)
}
组件中调用
import {userCoinList} from '../api/user'
methods:{listData(){userCoinList('').then(function (res) {console.log(res);})},}
token 配置 main.js 添加请求拦截器
axios.interceptors.request.use(config => {
if (store.state.token) {config.headers.common['Authorization'] = 'Bearer ' + store.state.token}return config
}, error => {
return Promise.reject(error)
})
axios.interceptors.response.use(response => {response.headers = {'Content-Type': 'application/x-www-form-urlencoded' }return response},error => {if (error.response) {switch (error.response.status) {case 401:router.replace({path: '/login',query: {redirect: router.currentRoute.fullPath}})}}return Promise.reject(error.response.data)})
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!