2017-04-04 130 views
0

在JavaScript单页面应用程序中,在用户首次请求前端时,使用Node JS Express设置cookie。如何在前端应用程序和后端服务器之间共享cookie?

通过将“credentials:include”选项添加到Fetch API中,将凭据包含在请求中。 第一个渲染是服务器端与React服务器端渲染。

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

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

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

回答

2

好吧,所以我想我想通了。

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

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

相关问题