我使用getCookie
中的django
documentation函数来获取django
值。
我有以下ajax调用:
csrfmiddlewaretoken
[执行此代码后,var url = reverse_removeprofile.replace(/deadbeef/, key);
$.ajax({
type: "DELETE",
url: url,
data: "csrfmiddlewaretoken=" + getCookie("csrftoken"),
success: function() { ... },
});
引发403异常,告诉我CSRF验证失败。但是,如果我将django
从type
更改为DELETE
,那么POST
对此很满意,一点也不抱怨。
我实际上并不能在Google上找到有用的东西,但是我发现了这张(现已关闭并固定)的故障单:django
如果我正确理解,则此问题已在1.4里程碑中得到解决。我使用django 1.4,但仍然无法通过https://code.djangoproject.com/ticket/15258请求验证CSRF令牌。
我在这里想念东西吗?
[这似乎是jQuery的错误,是由于是否应该将DELETE数据附加到URL(如GET请求)或请求正文(如POST)而引起的困惑
请参见DELETE
。
您可以通过对AJAX调用使用替代CSRF方法,在请求上设置this bug report标头,来解决此问题。尝试将您的AJAX调用更改为如下形式:
X-CSRFToken