egg.js 跨域 设置cookie

2025-04-26 06:12:21
推荐回答(1个)
回答1:

情形: 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替换即可: