J'utilise la fonction getCookie
du django
documentation pour obtenir la valeur csrfmiddlewaretoken
.Ajax, CSRF et DELETE
J'ai l'appel ajax suivant:
var url = reverse_removeprofile.replace(/deadbeef/, key);
$.ajax({
type: "DELETE",
url: url,
data: "csrfmiddlewaretoken=" + getCookie("csrftoken"),
success: function() { ... },
});
Lorsque ce code est exécuté alors django
déclenche une exception 403 me disant que la vérification CSRF a échoué. Cependant, si je change le type
de DELETE
en POST
puis django
est heureux à ce sujet et ne se plaint pas du tout.
je n'étais pas vraiment en mesure de trouver quelque chose d'utile dans Google à ce sujet, mais je l'ai trouvé cet (maintenant fermé et fixe) billet: https://code.djangoproject.com/ticket/15258
Si je comprends bien, alors ce problème a été résolu dans la 1.4 jalon. J'utilise django 1.4 mais je ne peux toujours pas vérifier le jeton CSRF avec une requête DELETE
.
Ai-je raté quelque chose ici?
merci beaucoup! Cela a résolu le problème :) et là, je blâmais les trucs csrf-middleware. – Pablo
Wow. Je n'aurais jamais pensé ça par moi-même. Merci. –