【问题标题】:Django AJAX: CSRF Verification failed says csrf token is missingDjango AJAX:CSRF 验证失败说缺少 csrf 令牌
【发布时间】:2015-01-27 14:54:08
【问题描述】:

所以我试图从 django webserver 检索 json 序列化数据,但我不断收到错误 403 表示由于令牌丢失或不正确导致 csrf 验证失败。

这是我的脚本:

$(document).ready(function(){
    var invsearch = $('[name="invsearch"]')
    invsearch.keyup(function(){
        var ooid = invsearch.val();
        if(ooid.length > 3){
            $.ajax({
                url:'{% url 'ofsomething' %}',
                data:{
                    invoice_id:ooid,
                    csrfmiddlewaretoken: '{{ csrf_token }}'},
                datatype:"json",
                type:'POST',
                success: function(json){
                    var orders = JSON.parse(json);
                    console.log(orders.length);
                },
                error: function(xhr, errmsg, err){
                    console.log(xhr.status + ': ' + xhr.responseText);
                }
            });
        }
    });
});

所以我在数据中包含了 csrfmiddlewaretoken 字段。我在这里做错了什么?

顺便说一句,这个脚本在模板里面,所以我可以使用块标签。

谢谢!

【问题讨论】:

    标签: javascript jquery python ajax django


    【解决方案1】:

    改变这个:

    csrfmiddlewaretoken: '{{ csrf_token }}'},
    

    "csrfmiddlewaretoken": $("input[name=csrfmiddlewaretoken]").val()
    

    【讨论】:

      猜你喜欢
      • 2014-10-21
      • 1970-01-01
      • 2016-09-09
      • 2016-04-15
      • 2015-05-04
      • 2020-08-07
      • 2014-02-25
      • 2012-09-08
      • 2015-06-02
      相关资源
      最近更新 更多