微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Jquery和Django CSRF令牌

我有2个html页面.

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

我使用$.load()方法加载子页面,然后当单击该按钮时,它运行$.ajax .POST方法.这个post方法只传递一个JSON字符串到Python代码.

当我在除IE之外的任何浏览器上执行此操作可以正常工作.但是当我在IE中运行这个代码我遇到关于CSRF令牌的Python / Django错误.

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

有人知道我应该如何去做这个工作.

干杯,

解决方法

您没有使用POST传递csrf令牌.尝试做我在数据中做的那就是获取csrf令牌(或你自己的方法)并将它传递给你的参数.
$.ajax({
    url : url,type: "POST",data : {csrfmiddlewaretoken: document.getElementsByName('csrfmiddlewaretoken')[0].value},dataType : "json",success: function( data ){
        // do something
    }
});

原文地址:https://www.jb51.cc/jquery/180487.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐