【问题标题】:How to send csrf token in xmlHttpRequest?如何在 xmlHttpRequest 中发送 csrf 令牌?
【发布时间】:2021-06-16 20:05:53
【问题描述】:

使用 AjaxxmlHttpRequest 我想从 django 后端下载 excel 文件。后端在内存中创建文件并返回给用户。

根据这个answer,我应该使用这个xmlHttpRequest,但是没有信息如何在post request中设置csrf中间件令牌

我试过了:

像这样设置request.setRequestHeaderrequest.setRequestHeader('x-csrf-token, window.CSRF_TOKEN) - 令牌丢失

在数据中:

request.send({'csrfmiddlewaretoken': window.CSRF_TOKEN, 'req': 'ExportAllMessages'});

我找不到任何使用 Ajax 的有效解决方案。

【问题讨论】:

标签: javascript django httpresponse csrf-token


【解决方案1】:

CSRF 代币的位置因项目而异。只需查看您页面的模板并了解它的保存方式。可能的位置是:

  • <meta> 标记在<head>
  • 表单中type="hidden"<input> 字段
  • 饼干
  • 全局变量,您的情况并非如此

【讨论】:

    猜你喜欢
    • 2018-08-27
    • 2018-08-19
    • 2018-03-20
    • 2021-04-03
    • 2021-05-14
    • 2018-07-17
    • 2015-03-26
    • 1970-01-01
    • 2015-05-27
    相关资源
    最近更新 更多