1在public目录下新建config.js文件,内容:
var PLATFOM_CONFIG = {}; PLATFOM_CONFIG.baseUrl = 'http://172.16.88.92:8094'
在index.html中引用该文件
2新建axios.js文件,内容:
"use strict"; import Vue from 'vue'; import axios from "axios"; let config = { baseURL:window.PLATFOM_CONFIG.baseUrl, //withCredentials: true,//允许携带cookies // baseURL: process.env.baseURL || process.env.apiUrl || "" // timeout: 60 * 1000, // Timeout }; const _axios = axios.create(config); _axios.interceptors.request.use( function(config) { // Do something before request is sent return config; }, function(error) { // Do something with request error return Promise.reject(error); } ); // Add a response interceptor _axios.interceptors.response.use( function(response) { // Do something with response data return response; }, function(error) { // Do something with response error return Promise.reject(error); } ); export default _axios;
并在main.js中引入该文件,
import axios from './plugins/axios'
Vue.prototype.axios = axios
3在全局中使用
this.axios.post(...
4跨域访问默认不支持cookies,需要
config = {withCredentials: true, baseURL:window.PLATFOM_CONFIG.baseUrl,}来支持传递cookie,但此时后端php设置跨域时不能使用通配符*,需要获取访问的主机地址+端口号。