ajax跨域请求时,sessionId不一样

2019-12-06 15:30:13 浏览数 (1)

这个是登陆页面

这是用户列表页,无法获取cookie,原因是两次请求不是同一个sessionid,服务器端,认为还没有登陆。

解决方法是:

服务器端

代码语言:javascript复制
// CORS 跨域请求支持
    @Override
    public void addCorsMappings(CorsRegistry registry) {
           registry.addMapping("/**")
               .allowedHeaders("*")
               .allowedOrigins("http://www.web.com")
               .allowedMethods("GET", "POST", "DELETE", "PUT")
               //如果把服务端的allowCredentials设为false,或者ajax请求中不带{withCredentials: true},那么登录校验永远都是未登录,因为cookie没有在浏览器和服务器之间传递
               .allowCredentials(true)
               .maxAge(3600);
    }

2、js的ajax,设置 xhrFields:{     withCredentials:true },

0 人点赞