介绍
今天就跟大家聊聊有关如何在Springmvc中利用ajax实现一个跨域请求,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
<强>写一个类,继承HandlerInterceptorAdapter 强>
包com.util; 进口javax.servlet.http.HttpServletRequest; 进口javax.servlet.http.HttpServletResponse; 进口org.springframework.web.servlet.handler.HandlerInterceptorAdapter; 公开课CommonInterceptor延伸HandlerInterceptorAdapter { 公共布尔preHandle (HttpServletRequest请求, HttpServletResponse响应对象处理程序){抛出异常 response.setHeader (“Access-Control-Allow-Origin",“*”); response.setHeader (“Access-Control-Allow-Methods",“*”); response.setHeader (“Access-Control-Max-Age",“3600“); response.setHeader (“Access-Control-Allow-Headers" “起源,X-Requested-With、内容类型、Accept"); response.setHeader (“Access-Control-Allow-Credentials",“true");//是否允许浏览器携带用户身份信息(饼干) 返回true; } }
<>强然后在xml里面配置一下路径强>
& lt; mvc: interceptors> & lt; !——过滤所有请求,处理跨域请求问题——比; & lt; mvc: interceptor> & lt; mvc:=映射路径“/* *”;/比; & lt; bean类=癱om.util.CommonInterceptor"/比; & lt;/mvc: interceptor> & lt;/mvc: interceptors>
这样就可以了,不过有篇博客说针对简单跨域没问题。但是针对职位+ json请求却失败,提示跨域失败。所以下面记录一下他的解决方式
<强>建立一个类,继承>公共类CrossFilter扩展> & lt; filter> & lt; filter-name> cors & lt; filter-class> cn。* * * .filter.CrossFilter & lt;/filter> & lt; filter-mapping> & lt; filter-name> cors & lt; url-pattern>/* & lt;/url-pattern> & lt;/filter-mapping>
然后就可以了,上述方式为spring3.0版本,如果是4.0版本可以用下面方式(无测)
<强> xml里面配置强>
& lt; mvc: cors> & lt; mvc:=映射路径“/* *”;allowed-origins=?”;allow-credentials=皌rue"信息=?800”;allowed-methods=癎ET、POST、OPTIONS"/比; & lt;/mvc: cors>
包com.mengyao.system.filter; 进口java.io.IOException; 进口javax.servlet.FilterChain; 进口javax.servlet.ServletException; 进口javax.servlet.http.HttpServletRequest; 进口javax.servlet.http.HttpServletResponse; 进口org.slf4j.Logger; 进口org.slf4j.LoggerFactory; 进口org.springframework.stereotype.Component; 进口org.springframework.web.filter.OncePerRequestFilter;/* * * CORSFilter解决跨域问题 * @author mengyao * */@ component 公开课InitCORSFilter扩展>看完上述内容,你们对如何在Springmvc中利用ajax实现一个跨域请求有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。如何在Springmvc中利用ajax实现一个跨域请求