jQuery POST使用Django CSRF - 删除X-CSRFToken标题后?

时间:2015-12-03 17:10:52

标签: jquery django csrf django-csrf

我正在关注instructions here。并且Django人员说要在我的Ajax发布请求之前运行它以包含CSRF令牌。

function csrfSafeMethod(method) {
    // these HTTP methods do not require CSRF protection
    return (/^(GET|HEAD|OPTIONS|TRACE)$/.test(method));
}
$.ajaxSetup({
    beforeSend: function(xhr, settings) {
        if (!csrfSafeMethod(settings.type) && !this.crossDomain) {
            xhr.setRequestHeader("X-CSRFToken", csrftoken);
        }
    }
});

这可以,但是我需要在我的POST之后从标题中删除该标记吗?我不希望所有jQuery发布请求包括它,因为我认为它可能泄漏令牌。

那么如何在运行POST后撤消ajax设置?

我需要这样做吗?

1 个答案:

答案 0 :(得分:1)

我认为您不需要,因为它在添加标头之前检查它不是跨域请求。