Ich benutze die getCookie
Funktion von django
documentation, um den csrfmiddlewaretoken
Wert zu erhalten.Ajax, CSRF und DELETE
Ich habe folgenden Ajax-Aufruf:
var url = reverse_removeprofile.replace(/deadbeef/, key);
$.ajax({
type: "DELETE",
url: url,
data: "csrfmiddlewaretoken=" + getCookie("csrftoken"),
success: function() { ... },
});
Wenn dieser Code ausgeführt wird dann django
wirft eine 403 Ausnahme mir zu sagen, dass die CSRF Überprüfung fehlgeschlagen. Jedoch, wenn ich die type
von DELETE
zu POST
ändere, dann ist django
glücklich darüber und beklagen sich überhaupt nicht.
Ich war nicht wirklich in der Lage, etwas Nützliches in Google darüber zu finden, aber ich habe diese (jetzt geschlossen und fest) gefunden Ticket: https://code.djangoproject.com/ticket/15258
Wenn ich es richtig verstehe, dann hat dieses Problem in dem fest 1.4 Meilenstein. Ich benutze django 1.4, aber ich kann das CSRF Token mit einer DELETE
Anfrage noch nicht überprüfen.
Fehle ich hier etwas?
Vielen Dank! Das hat das Problem gelöst :) und da habe ich die csrf-Middleware gestolpert. – Pablo
Wow. Das hätte ich nie alleine herausgefunden. Vielen Dank. –