前后端分离开发之Vue跨域

前后端分离开发必须解决的就是跨域问题了,在这里记录一下关于在前端vue跨域的方法,以供参考

使用npm命令下载axios

npm install axios

新建vue.config.js文件

目标转发的地址localhost:后的端口跟下面后端配置文件设置的端口保持一致

//配置请求转发的代理

//定义代理的对象
let proxyObj = {};

//拦截http请求
proxyObj['/'] = {
    ws: false,  //关掉websocket
    target: 'http://localhost:8181', //目标转发的地址
    changeOrigin: true,
    pathRewrite:{  //请求地址重写
        '^/': ''  //拦截到的地址不去修改它
    }
};

//把上面的导出来
module.exports = {
    devServer:{  //配置开发环境
        host: 'localhost', //端口号
        port: 8080,
        proxy: proxyObj  //代理对象
    }
};

配置main.js

在main.js中加上以下配置

import axios from 'axios';

Vue.prototype.axios = axios;
axios.defaults.withCredentials = true


Vue.config.productionTip = false
Vue.use(axios);

后端改端口

在后端的application.yml中设置服务器端口

server:
  port: 8181

是不是觉得很简单,这样我们就可以进行前后端分离开发啦,可以在前端js中使用axios调用接口:

this.axios.get('/user/findAll').then(res => {              
				//需要把地址前面部分删除
                console.log(res)
            }

打开浏览器F12检查console,在后端定义了findAll接口的前提下,就可以看到res了。


版权声明:本文为weixin_49141728原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。