­

ajax跨域请求时,sessionId不一样

  • 2019 年 12 月 6 日
  • 筆記

这个是登陆页面

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

解决方法是:

服务器端

// 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 },