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

Javascript 如何在前端应用程序和后端服务器之间共享cookie?,javascript,node.js,cookies,fetch-api,Javascript,Node.js,Cookies,Fetch Api,在javascript单页应用程序中,当用户向前端发出第一个请求时,会使用节点JS Express设置cookie 通过添加“Credentials:include”选项以获取API,可以将凭据包括到请求中。 第一个渲染是服务器端渲染,带有React服务器端渲染 我可以在开发者工具中看到cookie。它会在每次请求时发送到前端,但不会发送到后端 前端和后端都是节点服务器。在开发过程中,它们位于本地主机的不同端口上(也尝试在主机文件中设置域,但没有区别)。在转移过程中,api服务器位于前端服务器域

在javascript单页应用程序中,当用户向前端发出第一个请求时,会使用节点JS Express设置cookie

通过添加“Credentials:include”选项以获取API,可以将凭据包括到请求中。 第一个渲染是服务器端渲染,带有React服务器端渲染

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

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


他们可以共享同一个cookie吗?或者我应该为每个人创建一个cookie吗?我似乎无法将请求的cookie设置到后端,这可能是因为dev中的端口不同,或者是staging中的子域不同

好吧,我想我找到了答案

Cookie是根据某些请求发送的,而不是根据其他请求发送的。检查request方法,发现当方法类型为“OPTIONS”(飞行前)时不会发送cookie,显然这是正常的


解决方法是,如果请求方法是OPTIONS,则避免检查Cookie,在这种情况下,只需发送200个空响应,这样真正的请求就可以继续,在此期间将发送Cookie。

好的,我想我已经解决了

Cookie是根据某些请求发送的,而不是根据其他请求发送的。检查request方法,发现当方法类型为“OPTIONS”(飞行前)时不会发送cookie,显然这是正常的

解决方法是,如果请求方法是OPTIONS,则避免检查cookie,在这种情况下,只发送200个空响应,这样真正的请求就可以继续进行,在此期间将发送cookie