前端跨域请求后台问题

今天在工作时遇到一个跨域请求的问题,问题场景就是以往前端在开发过程中的ajax请求url直接是/Controller的mapping/方法mapping,当我们跨域访问的时候,则需要在请求路径前加上服务器地址及端口号

例如:

    非跨域请求URL :/test/demo

    跨域请求URL :192.168.12.190:8001/test/demo

但是当我们使用跨域请求URL的时候,浏览器报错


Access-Control-Allow-Origin

提示Access-Control-Allow-Origin ... is therefore not allowd access,很显然是不被允许访问

这个问题我们只需要在后台过滤器中设置相应的请求头为 * 即可

代码如下:



HttpServletResponse response = (HttpServletResponse) servletResponse;

response.setHeader("Access-Control-Allow-Origin", "*");

response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE");

response.setHeader("Access-Control-Max-Age", "3600");

response.setHeader("Access-Control-Allow-Headers", "x-requested-with");

filterChain.doFilter(servletRequest, servletResponse);


再次请求


请求成功

以上为该问题的解决方案

源码:    ajaxdemo    

测试页面比较简单

最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容