设置proxyTable解决Axios跨域问题
用Vue开发单页面应用时,一般用Axios实现Ajax传输,这会受浏览器同源策略限制。用解决跨域的方法都可以解决这个问题。像JSONP,CORS啥的都可以,但是设置session和cookie时会出问题。今天我在服务器配置Acess-Control-Allow-Origin,实现CORS,但是session和cookie都有问题。浏览器可以发送cookie到服务器,但是服务器无法通过Set-cookie设置cookie。其实要解决跨域的问题,Vue已经提供了proxyTable,只要简单配置就可以了。
在配置文件config/index.js中有个proxyTable对象:
1 | proxyTable: {} |
把它改成:
1 | proxyTable: { |
这样就可以把http://localhost:8080/api/代理到http://localhost:3000/api.
如果我要实现登录,服务器端处理登录的url是http://localhost:3000/api/login,那Axios的实现代码就是:
1 | this.axios.post('/api/login', { |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 plusye的博客!
评论