使用springboot的过滤器 解决ajax的跨域问题

举报
IT 叶新东老师 发表于 2021/12/31 23:33:19 2021/12/31
【摘要】 新建一个过滤器 package com.icode.common.web.handler; import javax.servlet.*;import javax.servlet.http.HttpServletResponse;import java.io.IOException;import java.util.logging.L...

新建一个过滤器


  
  1. package com.icode.common.web.handler;
  2. import javax.servlet.*;
  3. import javax.servlet.http.HttpServletResponse;
  4. import java.io.IOException;
  5. import java.util.logging.LogRecord;
  6. /**
  7. * <TODO>
  8. *
  9. * @className WebFilter
  10. * @Author xd
  11. * @Date 2018/12/13 19:40
  12. **/
  13. @javax.servlet.annotation.WebFilter(urlPatterns = "/*", filterName = "myfilter")
  14. public class WebFilter implements Filter {
  15. @Override
  16. public void init(FilterConfig filterConfig) throws ServletException {
  17. }
  18. @Override
  19. public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
  20. System.out.println("filter");
  21. HttpServletResponse response = (HttpServletResponse)servletResponse;
  22. //为所有请求添加响应头,以解决ajax跨域问题
  23. response.setHeader("Access-Control-Allow-Origin","*");
  24. filterChain.doFilter(servletRequest,response);
  25. }
  26. @Override
  27. public void destroy() {
  28. }
  29. }

关键代码


  
  1. //为所有请求添加响应头,以解决ajax跨域问题,//值为*或指定的域名。
  2. response.setHeader("Access-Control-Allow-Origin","*");

只要加上这行代码即可,前端不需要做任何更改,即可解决浏览器的跨域问题

另外,附上前端ajax请求的代码


  
  1. $.ajax({
  2. type : "GET",
  3. url : url,
  4. dataType:'json',
  5. data : param,
  6. success : function(data) {
  7. callBackFunc(data);
  8. },
  9. error : function(e) {
  10. alert("网络错误");
  11. }
  12. });

原文地址:http://www.mamicode.com/info-detail-877400.html

文章来源: yexindong.blog.csdn.net,作者:java叶新东老师,版权归原作者所有,如需转载,请联系作者。

原文链接:yexindong.blog.csdn.net/article/details/84994078

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。