javascript - Django 不为 AngularJS 前端提供 CSRF token

标签 javascript python angularjs django cookies

我正在尝试从 AngularJS 前端向 Django 后端发送跨域 PUT 请求。当我在同一个域上运行时一切都很好(前端位于 localhost:8000 ,后端位于 localhost:8001),我得到了我的 csrftoken 来自 $cookies 并且可以发送成功的请求。当我将后端切换到外部 QA 服务器时,问题就开始了。我得到空的 $cookies,没有 sessionid 也没有 csrftoken cookie。我没有想法,这就是我在这里寻求帮助的原因,提前致谢。

最佳答案

您将无法在其他域上获取 Cookie,因为所有 Cookie 都是按域设置的,这是出于安全原因。

如果您想访问其他域中的session和cookie,您必须复制它们。您可以通过使用特殊 token (用于验证)发送一些请求并在 django 中创建 View 来完成此操作,该 View 将根据该 token 从某些存储中获取数据并填充用户 cookie,以便在下一个请求时它们将可用。

关于javascript - Django 不为 AngularJS 前端提供 CSRF token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32714470/

相关文章:

javascript - 如何在时间戳上预先缩放到当天

python - Gekko 和中间变量

javascript - 如何在 AngularJS 单元测试中触发 ui-sref?

javascript - Angular JS 和复杂指令

javascript - 在线JavaScript编辑器(例如inDesign)

javascript - 使垂直滚动条可见,保持表头静态

javascript - 如何使用 javascript 创建带有字符串路径列表的动态树结构

python - 通过从 3D 数组中采样和分桶来创建热图

python - Pandas:强制将 Excel 文件中的多行合并为单行合并为单行

javascript - Angular Google map - 单击时窗口无法打开?