不知道这个东西引发的痛苦:两个跨域接口,A和B,A获取数据存储在session中,B从session中获取数据进行验证。结果第一个接口没问题,第二个接口获取到的session为null。
一上午摸索之后的原因分析:跨域请求导致session不是同一个了。如果不是跨域请求不会出现这个问题。
解决办法:ajax在进行跨域请求的时候发送cookie,这样服务器能确定你这些请求来自于同一客户端。ajax参数加上
xhrFields: {
withCredentials: true //默认情况下,标准的跨域请求是不会发送cookie的
},