2017-04-04 123 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將被髮送。

相關問題