JQuery + AJAX + Django = CSRF?

Krz*_*zos 14 javascript django ajax csrf-protection

可能重复:
"CSRF令牌丢失或不正确",而在Django中通过AJAX发布参数

我想通过AJAX发送登录数据来验证用户身份,但由于CSRF,这是不可能的.你能告诉我在我的代码中添加什么来让它变得更好吗?

我的JavaScript文件:

$("#login").live("click", function() {
    var username = $(".login_username").val();
    var password = $(".login_password").val();

    $.ajax({
        url: "/login",
        type: "POST",
        data: {
            username: username,
            password: password
        },
        cache: false,
        success: function(tekst) {
            alert(tekst);
        }
    });
});
Run Code Online (Sandbox Code Playgroud)

Arn*_*anc 11

这里解释了一种方法.

它包括在每个ajax请求上添加一个X-CSRFToken标头.

这是通过挂钩jQuery.ajaxSend事件来完成的,所以一切都是自动完成的(你只需复制并通过他们的代码,并在你发出第一个ajax请求之前运行一次).