<blockquote>
讯享网
浏览器的同源策略限制,向不同源(不同协议、不同域名、不同端口)发送ajax请求会失败,由于发起ajax请求的域为http://localhost:5173,而后台服务器的域为http://localhost:8080
所以浏览器会限制该请求的发送, 这种问题称为跨域问题, 跨域问题可以在服务器端解决,也可以在浏览器端解决
通过配置代理的方式解决:
在request.js中定义一个变量记录为公共的前缀(/api),会把当前 前端源和/api拼接成新的url:http://localhost:5173/api。
之后vie.config.js中的proxy配置代理会检测请求路径是否有/api字符,有 就会将请求的域名和端口(源)替换成target中的内容【一般只需要修改target中成自己的内容】,rewrite会将路径重写,把/api替换成“”,最后组成的请求url为:http://localhost:8080。
(1)request.js中配置统一前缀 /api
讯享网
(2)vie.config.js中配置代理
通过CORS解决跨域:
官网地址:https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS
- CORS的全称为Cross-origin Resource Sharing,中文含义是跨域资源共享,
- CORS 是跨域的一种解决方案,CORS 给了web服务器一种权限:服务器可以选择是否允许跨域请求访问到它们的资源。
方案一: 在IndexController上添加@CrossOrigin注解
讯享网
弊端:每一个controller类上都来添加这样的一个接口影响开发效率、维护性较差
方案二:添加一个配置类配置跨域请求(推荐)
在application.yaml中加上:
讯享网

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/195140.html