Kann nicht in Laravel 5 über Jquery Ajax posten

8

Ich versuche eine POST Anfrage über Jquery Ajax in der Laravel 5.1 Anwendung zu senden. Ich habe 405 Methode nicht zulassen, ich suche andere Fragen zu diesem Forum aber finde keine Lösung:

Mein routes.php :

%Vor%

Der Controller

%Vor%

Und Skript

%Vor%

Und ich habe Fehler 405 - Methode nicht erlaubt

Was irre ich mich?

    
Kieu Duy 22.02.2016, 23:15
quelle

1 Antwort

13

@ Chris Kommentar ist korrekt:)

Sie müssen einfach / vom Ende Ihrer URL entfernen. Deine Ajax-Anfrage sollte zu http://domain.com/backend/get_subdirectories gehen.

Der Grund dafür ist, dass innerhalb der public/.htaccess -Datei 301 alle URLs mit einem nachgestellten Schrägstrich auf die gleiche URL umgeleitet werden. Der Code, der es tut, ist hier:

%Vor%

Nun besteht das eigentliche Problem darin, dass der Client eine GET-Anfrage an die URL ausgibt, die durch die 301-Weiterleitung spezifiziert wurde.

Warte! Warum sollte es das tun?

Nun, wir können uns RFC7231 für die Antwort anschauen. Es sagt

  

6.4.2. 301 Permanent verschoben

     

Der Statuscode 301 (Moved Permanently) zeigt an, dass das Zielobjekt   Ressource wurde eine neue permanente URI und jede zukünftige
zugewiesen   Verweise auf diese Ressource sollten einen der eingeschlossenen URIs verwenden.
  Clients mit Link-Editing-Funktionen sollten automatisch neu verknüpfen   Referenzen auf die effektive Anfrage URI zu einem oder mehreren der neuen
  Referenzen, die vom Server gesendet werden, wenn möglich.

     

Der Server sollte ein Location-Header-Feld in der Antwort generieren   enthält eine bevorzugte URI-Referenz für den neuen permanenten URI. Der
  Benutzeragent KANN den Wert für das Feld Standort für das automatische
verwenden   Umleitung. Die Antwort-Nutzlast des Servers enthält normalerweise ein kurzes
  Hypertext-Notiz mit einem Hyperlink zu den neuen URI (s).

%Vor%      

Eine 301-Antwort kann standardmäßig zwischengespeichert werden. d.h., wenn nicht anders   angezeigt durch die Methodendefinition oder explizite Cache-Steuerelemente (siehe
  Abschnitt 4.2.2 von [RFC7234]).

Was jetzt interessant ist, ist der Hinweis unten, der angibt, dass der Benutzeragent die Anfrage-Methode von POST in GET ändern kann. Und es scheint, dass die meisten Benutzeragenten von Browsern zu Frameworks dieser Regel zu folgen scheinen.

    
Kirill Fuchs 23.02.2016, 01:30
quelle

Tags und Links