已解决:No 'Access-Control-Allow-Origin' header is present on the requested resource'(跨域问题)
发布日期:2021-06-29 13:43:41 浏览次数:2 分类:技术文章

本文共 1104 字,大约阅读时间需要 3 分钟。

问题分析:

这是常见的跨域请求问题,在前后端分离的项目中常见,前端项目中的请求路径直接用后台请求路径(例如: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 配置文件中加入如下配置过滤器

web.xml中有多个filter时要把下面配置放在最前端

 
CorsFilter
 
org.apache.catalina.filters.CorsFilter
 
   
cors.allowed.methods
   
GET,POST,HEAD,OPTIONS,PUT
 
 
   
cors.allowed.headers
   
Access-Control-Allow-Origin,Content-Type,X-Requested-With,accept,Origin,Access-Control-Request-Method,Access-Control-Request-Headers
 
 
true
 
CorsFilter
 
/*

这样在根源(后台)上允许了跨域请求,同时也存在被黑客恶意注入导致服务器瘫痪(内网或单机版除外)。

以上就是解决跨域请求最简单的方式。希望大家别走弯路~

转载地址:https://chensj.blog.csdn.net/article/details/100564648 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:url参数存在特殊字符(“ & @)报错怎么替换:URL中的参数编码梳理
下一篇:Elasticsearch7.3在java中的简单连接

发表评论

最新留言

第一次来,支持一个
[***.219.124.196]2024年04月23日 19时16分43秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章