我正在关注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设置?
我需要这样做吗?
答案 0 :(得分:1)
我认为您不需要,因为它在添加标头之前检查它不是跨域请求。