这是常见的跨域请求问题,在前后端分离的项目中常见,前端项目中的请求路径直接用后台请求路径(例如:http://192.168.1.1:8080/demo/getUser.do),但根据浏览器的网络请求规则,后台Server是不允许这样直接调用的(会被当黑客恶意攻击给拦截掉)。从而导致该跨域请求被拒绝(如下图)。

Access to XMLHttpRequest at ‘http://192.168.1.1:8080/app/easypoi/importExcelFile’ from origin ‘http://localhost:8080’ has been blocked by CORS policy: No ‘Access-Control-Allow-Origin’ header is present on the requested resource.
解决方式:
网上很多让修改各种项目中的配置文件但是不好使。其实:只需修改后台Server(如java的tomcat)的一个过滤配置即可,即允许跨域请求;
在请求的server端(tomcat)的conf/web.xml 配置文件中加入如下配置过滤器
(如w 《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》无偿开源 威信搜索公众号【编程进阶路】 eb.xml中有多个filter时要把下面配置放在最前端)
CorsFilter
org.apache.catalina.filters.CorsFilter
本文介绍了在前后端分离项目中遇到的跨域请求问题,由于浏览器的同源策略,直接使用后台URL进行请求会被拦截。解决方法是在后台Server(如Tomcat)的配置文件`web.xml`中添加CORS过滤器,允许跨域请求。通过此配置,可以避免前端HTTP请求因跨域被阻止。
1万+

被折叠的 条评论
为什么被折叠?



