2025年前端跨域调用接口(前端接口跨域问题)

前端跨域调用接口(前端接口跨域问题)blockquote 浏览器的同源策略 限制 向不同源 不同协议 不同域名 不同端口 发送 ajax 请求会失败 由于发起 ajax 请求的域为 http localhost 5173 而后台服务器的域为 http localhost 8080 所以浏览器会限制该请求的发送 这种问题称为跨域问题 跨域问题可以在服务器端解决 也可以在浏览器端解决 blockquote

大家好,我是讯享网,很高兴认识大家。



 <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中加上:

讯享网


小讯
上一篇 2025-06-09 12:08
下一篇 2025-04-21 07:55

相关推荐

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