情形: egg.js 做后端接口, jQuery做前端请求。
设想:调用user/login接口后,后端设置cookie,然后前端每次请求都会自动带上cookie。
然而现实是后面的请求在控制台中,根本没有cookie;而且后端打印后面的接口也是没有cookie的。
后端跨域设置见: https://www.jianshu.com/p/202d760758d2
解决办法:
后端设置cookie:
前端ajax接口(login接口,后续的接口)都加上withCredentials:
xhrFields: {
withCredentials: true
},
crossDomain: true,
ajax设置后,已经有cookie了。
egg.js controller中其他接口中获取浏览器带过来的cookie:
清除cookie直接使用null替换即可: