如何在反应应用程序中访问浏览器cookie

Syl*_*lar 3 cookies reactjs

这个问题有点受欢迎,但我没有这样的运气.我主要是一个后端人,所以我一边学习一边.

我有一个名为cookie connect.sid和值的cookie 12345.我在我的chrome dev工具中看到了这个.

在我的反应应用程序中我控制台记录document.cookielocalStorage.getItem('connect.sid').我得到空值.如何获得价值12345

Passportjs,使用护照github2战略,创建这个cookie.我需要访问它,以便我可以与我的API通信.

谢谢

小智 11

使用react-cookie可能是获取cookie值的最简单方法.你可以运行npm install react-cookie,将安装v2.如果您只想在客户端上使用简单的API,我建议使用v1.只需运行npm install react-cookie@1.0.5,添加import cookie from 'react-cookie'到您的文件并使用cookie.load('connect.sid')获取cookie值.您可以查看v1 的自述文件以获取详细信息.

如果您仍然无法获得cookie值,请确认:

  1. /如果您希望在所有页面上都可以访问cookie,则将cookie设置为正确的路径.
  2. cookie不是httpOnly cookie,HttpOnly cookie无法通过JavaScript访问.


Not*_*ong 5

我知道这个答案并不完全是您想要的,但是如果您只想在服务器端授权某人,我有一个简单的解决方案。只需添加

凭据:'同源'

到您的 AJAX 请求。如果您这样做了,cookie 将与您的 connect.sid 一起发送到服务器,服务器将为您处理身份验证。