java+ajax跨域sessionid不断变化
由于实现一个功能,需要实现一个在过滤器中使用session的程序,
结果在前端使用ajax访问后台时,后台一直不能获取session存的值,导致了某一个操作每次都执行。
最终发现是因为,前端每一次请求都使得后台产生了一个新的id
一下就想到是跨域的原因,
那就改吧,前端记住以下两段代码:
xhrFields: {
withCredentials: true
},
crossDomain: true,
xhrFields是ajax跨域的最基本条件:允许携带cookies(session本质就和cookie一样),除了后台设置其为真,前台同样的
然后是第二个,是产生新的sessionid的根本原因之一,
没有它每一个请求服务器都会认为是新的session。
重点又来了:
layui一般的ajax可以使用以上两项解决sessionid不一致,
那么表格怎么办?
大概只能修改table.js源码添加以上两段代码了。
对了千万不要用layui.all.js,否则table.js不起用