首先建立一个 拦截器
代码如下 让java 允许跨域请求
@Override
public boolean preHandle(HttpServletRequest request,
HttpServletResponse response, Object handler) throws Exception {
response.setHeader("Access-Control-Allow-Origin", "http://owen.rompy.cn");
response.setHeader("Access-Control-Allow-Methods", "GET,POST");
response.setHeader("Access-Control-Allow-Headers", "Content-Type,XFILENAME,XFILECATEGORY,XFILESIZE");
response.setHeader("Access-Control-Allow-Credentials", "true");
return true;
}
切记
response.setHeader("Access-Control-Allow-Origin", "*");
是不可取的因为他和下面那句话会冲突
response.setHeader("Access-Control-Allow-Credentials", "true");
然后 web端的请求 获取不到cookie的原因有可能是ajax没有配置
新增ajax配置,具体配置如下
xhrFields: {
withCredentials: true
},
这个时候 即可读到 相同域名下的cookie了
本文介绍如何通过设置拦截器实现Java跨域请求,包括正确配置Access-Control-Allow-Origin等头部信息,以及在前端使用ajax配置withCredentials来读取同域名下的cookie。
2070

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



