Vue跨域配置proxyTable问题

最近在做一个前后端分离的毕设,在前端向后端发送get请求时遇到了Vue跨域的问题。在这里插入图片描述

been blocked by CORS policy: No ‘Access-Control-Allow-Origin’ header
is present on the requested resource

解决方案如下(以vue脚手架为例):
1、打开config文件夹里面的index.js文件,找到proxyTable参数。这个参数是vue为我们解决跨域问题专门设置的。
2、修改参数(以我的项目为例)。我原本要请求的url是后端的地址,http://localhost:8083/predict/api 但是我前端的地址是http://localhost:8080 于是产生了跨域问题。此时,只需要把proxyTable设置成如下在这里插入图片描述
target表示服务器端的地址,changeOrigin表示是否跨域。
‘/predict’: {}, 就是告诉node, 我接口只要是’/predict’开头的就用代理.所以你的接口就要这么写在这里插入图片描述

^predict’ :'predict'

表示将路径中的predict换为predict,因为我请求路径中原本就有predict所以我就不用修改,不用修改就是这么写。如果你的predict只是为了标识使用代理,实际上不存在,那就把predict替换成空,如下。

^predict’ :''

注意predict只是我自己的路径,不是本身就带有的参数,你需要根据自己的路径来重写。

3、修改完之后,还有一个坑,可能因为浏览器、端口存在缓存,不会立即生效,这时候可以尝试把前端的端口改一下再改回去,清除掉缓存。还是index.js文件,修改里面的port参数的数值即可。
4、npm run dev
在这里插入图片描述
此时,在浏览器看到的url依旧是前端的url请求,但是实际上请求会被代理至服务器端

参考文章https://blog.csdn.net/weixin_34400525/article/details/88798160
https://blog.csdn.net/ZXT149074136/article/details/100016891

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值