Ich verwende die getCookie
-Funktion aus der django
-Dokumentation Erhalte den csrfmiddlewaretoken
-Wert.
Ich habe den folgenden Ajax-Aufruf:
%Vor% Wenn dieser Code ausgeführt wird, löst django
eine 403 Exception aus, die mir mitteilt, dass die CSRF-Überprüfung fehlgeschlagen ist. Wenn ich jedoch die type
von DELETE
zu POST
ändere, dann freut sich django
darüber und beschwert sich überhaupt nicht.
Ich konnte nicht wirklich etwas Nützliches in Google finden, aber ich habe dieses (jetzt geschlossene und feste) Ticket gefunden: Ссылка
Wenn ich es richtig verstehe, dann wurde dieses Problem im 1.4-Meilenstein behoben. Ich benutze Django 1.4, aber ich kann das CSRF Token mit einer DELETE
Anfrage nicht überprüfen.
Fehle ich hier etwas?
Dies scheint ein jQuery-Fehler zu sein, der durch einige Verwirrung darüber verursacht wurde, ob DELETE-Daten an die URL (wie eine GET-Anfrage) oder an den Anfragetext (wie ein POST) angehängt werden sollten
Siehe diesen Fehlerbericht .
Sie können dies wahrscheinlich umgehen, indem Sie die alternative CSRF-Methode für AJAX-Aufrufe verwenden, indem Sie einen X-CSRFToken
-Header für die Anforderung festlegen. Versuchen Sie, Ihren AJAX-Anruf wie folgt zu ändern:
Tags und Links django django-csrf