Django CSRF-Fehler mit Ajax POST-Anfragen beheben
Das Django-Framework erzwingt den CSRF-Schutz, um böswillige Cross-Site-Anfragen zu verhindern. Bei AJAX-POST-Anfragen kann dieser Schutz Probleme verursachen, wenn er nicht richtig gehandhabt wird.
Überprüfen des CSRF-Tokens
Um zu überprüfen, ob das CSRF-Token korrekt ist, können Sie überprüfen es gegen den csrftoken-Cookie-Wert. Dieses Cookie wird jedoch automatisch clientseitig generiert, sodass Sie keinen bestimmten Wert fest codieren können.
Lösung für Ajax POST-Anfragen
Die vorgeschlagene Lösung für AJAX POST-Anfragen ist um das CSRF-Token in den Anforderungsdatentext aufzunehmen. Dies kann mithilfe der Funktion .ajax() mit dem folgenden Datenformat erfolgen:
$.ajax({ data: { csrfmiddlewaretoken: '{{ csrf_token }}' // Additional request data goes here }, // ... Other options });
Django View Handling
In Ihrer Django-Ansicht sollten Sie dies sicherstellen Der request.POST enthält den csrfmiddlewaretoken-Schlüssel. Ist dies nicht der Fall, lehnt Django die Anfrage ab.
Zusätzliche Hinweise
Das obige ist der detaillierte Inhalt vonWie gehe ich mit Django CSRF-Fehlern mit AJAX POST-Anfragen um?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!