在javascript单页面应用程序中,在用户对前端的第一次请求时,使用Node JS Express设置cookie。
通过添加"凭据来包含凭证:include"获取API的选项。 第一个渲染是服务器端,具有React服务器端渲染。
我可以在开发者工具中看到cookie。它会在每个请求发送到前端,但不会发送到后端。
前端和后端都是节点服务器。在开发中,它们位于localhost的不同端口上(也尝试在hosts文件中设置域但没有区别)。在暂存中,api服务器位于前端服务器域的子域中。两者都不起作用。
他们可以共享相同的cookie,还是应该为每个cookie创建一个cookie?我似乎无法为后端设置请求的cookie,因为开发中的不同端口或分段中的不同子域。
答案 0 :(得分:3)
好的,我想我想出来了。
Cookie是针对某些请求发送的,但不是针对其他请求发送的。检查请求方法,当方法类型为“OPTIONS”时,不会发送cookie,这是预检,显然这是正常的。
解决方法是避免在请求方法是OPTIONS时检查cookie,在这种情况下只发送200空响应,以便真正的请求可以继续,在此期间将发送cookie。