Używam funkcji getCookie
z django
documentation, aby uzyskać wartość csrfmiddlewaretoken
.Ajax, CSRF i DELETE
Mam następujący ajax połączenia:
var url = reverse_removeprofile.replace(/deadbeef/, key);
$.ajax({
type: "DELETE",
url: url,
data: "csrfmiddlewaretoken=" + getCookie("csrftoken"),
success: function() { ... },
});
Kiedy ten kod zostanie wykonany następnie django
prowadzących do 403 wyjątek informujący mnie, że weryfikacja CSRF nie powiodło się. Jeśli jednak zmienię type
z DELETE
na POST
, to jest szczęśliwy z tego powodu i nie narzeka w ogóle.
nie byłem w stanie znaleźć coś pożytecznego w Google na ten temat, ale znalazłem ten (obecnie zamknięte i stałe) bilet: https://code.djangoproject.com/ticket/15258
Jeśli rozumiem go poprawnie wtedy ten problem został rozwiązany w 1,4 milowy krok. Używam django 1.4, ale nadal nie mogę zweryfikować tokena CSRF za pomocą żądania DELETE
.
Czy tu czegoś brakuje?
dziękuję! To rozwiązało problem :) i tam obwiniałem rzeczy csrf-middleware. – Pablo
Wow. Nigdy bym tego nie wymyślił. Dzięki. –