如何在前端应用和后端服务器之间共享cookie?

时间:2017-04-04 18:43:22

标签: javascript node.js cookies fetch-api

在javascript单页面应用程序中,在用户对前端的第一次请求时,使用Node JS Express设置cookie。

通过添加"凭据来包含凭证:include"获取API的选项。 第一个渲染是服务器端,具有React服务器端渲染。

我可以在开发者工具中看到cookie。它会在每个请求发送到前端,但不会发送到后端。

前端和后端都是节点服务器。在开发中,它们位于localhost的不同端口上(也尝试在hosts文件中设置域但没有区别)。在暂存中,api服务器位于前端服务器域的子域中。两者都不起作用。

他们可以共享相同的cookie,还是应该为每个cookie创建一个cookie?我似乎无法为后端设置请求的cookie,因为开发中的不同端口或分段中的不同子域。

1 个答案:

答案 0 :(得分:3)

好的,我想我想出来了。

Cookie是针对某些请求发送的,但不是针对其他请求发送的。检查请求方法,当方法类型为“OPTIONS”时,不会发送cookie,这是预检,显然这是正常的。

解决方法是避免在请求方法是OPTIONS时检查cookie,在这种情况下只发送200空响应,以便真正的请求可以继续,在此期间将发送cookie。

相关问题