【发布时间】:2022-02-08 13:06:45
【问题描述】:
我的后端在 Django 中,而前端在 React 中。 我已经设置了 CROS 标头并添加了如下设置。 Django settings
对于发送请求,我使用的是fetch,并且我设置了credentials: 'include'。
我正在使用基于会话的身份验证,所以当我登录用户的会话时。然后从父组件(来自useEffect)向后端发送请求以获取作业。在这种情况下一切正常。以下是此特定请求的标头。它有COOKIE
当我从 react 的子组件发送请求时,标头中不存在 COOKIE。以下是此特定请求的标头。
我无法理解为什么会发生这种情况,两个请求标头的另一个区别是请求标头中 HTTP_SEC_FETCH_SITE 的值。
在HTTP_SEC_FETCH_SITE 的第一个请求值是same-site 而在第二个请求HTTP_SEC_FETCH_SITE 是cross-site。即使在两种情况下都通过http://localhost:3000 发送请求,为什么HTTP_SEC_FETCH_SITE 的值不同。
【问题讨论】:
标签: reactjs django web cookies fetch