Django jquery ajax 403 Fehler

8

Ich versuche, Ajax zur Arbeit zu bringen, aber ich bekomme immer einen 403 Fehler. Ich bin ziemlich neu in Jquery.

Das Folgende ist mein Code

%Vor%     
bash- 04.10.2011, 10:54
quelle

6 Antworten

20

Ich denke, Sie übergeben kein CSRF-Token .

    
DrTyrsa 04.10.2011, 11:29
quelle
1

Sie können den CSRF vermeiden, indem Sie die folgende Annotation vor Ihrer Methodendefinition hinzufügen.

%Vor%     
Geoffrey-ap 01.10.2015 18:11
quelle
1

Kopieren Sie einfach diesen Code aus den offiziellen Dokumenten in eine js-Datei und fügen Sie sie ein es in Ihrem HTML

%Vor%     
J.B.D 02.08.2016 14:55
quelle
0

Siehe HTTP / 1.1-Statuscodedefinitionen . "403" ist der Statuscode "Verboten". Dies ist ein Fehler, der auf der Server-Seite Ihrer $.ajax -Anfrage ausgelöst wird, nicht auf der Client-Seite (d. H. Ihr Code stellt eine Anfrage, aber die Antwort vom Server ist eine Fehlermeldung).

Das Dokument gibt an, dass Server nur in bestimmten Situationen mit diesem Fehler reagieren sollten:

  

Der Server hat die Anfrage verstanden, weigert sich aber, sie zu erfüllen. Die Autorisierung wird nicht helfen und die Anfrage sollte nicht wiederholt werden. Wenn die Anfrage-Methode nicht HEAD war und der Server öffentlich machen wollte, warum die Anfrage nicht erfüllt wurde, SOLLTE der Grund für die Ablehnung in der Entität beschrieben werden. Wenn der Server diese Informationen dem Client nicht zur Verfügung stellen möchte, kann stattdessen der Statuscode 404 (Not Found) verwendet werden.

In der Regel bedeutet ein Fehler dieser Art, dass jeder Benutzer, bei dem Sie angemeldet sind, keinen Zugriff auf die angeforderte URL hat. Häufig weist dies darauf hin, dass der einzige Fehler in Ihrem Code die URL ist, an die Sie die Anforderung stellen, oder die Reihenfolge einer Folge von Aufrufen (z. B. wenn Sie versuchen, Daten anzufordern, bevor Sie sich anmelden). Weniger häufig sind einige Webserver und Webanwendungen so konfiguriert, dass sie 403 Fehlercodes anstelle von 404 (nicht gefunden) Fehlercodes für alle "ungültigen" Anfragen beantworten, um zu verhindern, dass Informationen darüber verloren gehen, welche Dateien auf dem Server existieren / p>     

zjs 04.10.2011 11:20
quelle
0

Ich stieß darauf und dachte, ich würde posten, was vor sich geht. Ich hatte das {% CSRF_TOKEN %} in einem gecachten paged und es war caching, was es dort setzte. Also für einige Benutzer war es gültig und einige waren nicht abhängig vom Cache! Es war ein Alptraum, den man aufspüren musste, obwohl es offensichtlich gewesen sein sollte ... Also schau mal, wie du speicherst.

    
teewuane 16.01.2015 05:37
quelle
0

Kann auch prüfen, ob die csrf-Middleware in settings.py aktiviert ist und sie deaktivieren. Suchen Sie nach 'django.middleware.csrf.CsrfViewMiddleware' .

    
Benny Jobigan 07.02.2016 03:28
quelle

Tags und Links