Jquery 和 Django CSRF token

标签 jquery python django csrf

我有 2 个 html 页面。

一个父页面和一个子页面。子页面包含一个提交按钮,该按钮在父页面上运行代码以提交 Ajax 消息。

我使用 $.load() 方法加载子页面,然后在单击按钮时运行 $.ajax .POST 方法。此 post 方法仅将 JSON 字符串传递给 Python 代码。

当我在除 IE 之外的任何浏览器上执行此操作时,它都可以正常工作。但是,当我在 IE 中运行此代码时。我收到有关 CSRF token 的 Python/Django 错误。

认为原因是因为子页面只是当前页面本身的刷新,服务器端代码正在运行。

有谁知道我应该如何让它发挥作用。

干杯,

最佳答案

您没有通过 POST 传递 csrf token 。尝试做我在 data 中所做的事情。即获取 csrf token (或您自己的方法)并将其传递给您的参数。

$.ajax({
    url : url,
    type: "POST",
    data : {csrfmiddlewaretoken: document.getElementsByName('csrfmiddlewaretoken')[0].value},
    dataType : "json",
    success: function( data ){
        // do something
    }
});

关于Jquery 和 Django CSRF token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8614947/

相关文章:

javascript - 管理通过ajax发送到php的表单数据+其他变量

jquery - Highcharts 中的堆叠区域使我的系列淡入和淡出

python - Theano 中的切片将矩阵转换为向量

python - 如何设置gunicorn脚本(django)

python - 覆盖 ModelForm 中的元数据

php - jQuery 简单表单提交无需重新加载

jquery - jQuery AJAX 中带有 ajaxStop 的递归调用函数

python - 使用 function 或 var 创建数据框列/索引名称

Python/PyODBC 通过 IP 与可信连接连接到 SQL Server 2008 DB

python - Django:有选择地将 CSS 样式应用于测验单选按钮