Wie lösche ich den Datensatz in Laravel 5.3 mit Ajax Request?

9

Ich versuche mit ajax in laravel 5.3 Einträge zu löschen, ich weiß, dass dies eine der häufigsten Fragen ist und es bereits viele Online-Lösungen und Tutorials zu diesem Thema gibt. Ich habe einige von ihnen versucht, aber die meisten geben mir den gleichen Fehler NetworkError: 405 Method Not Allowed . Ich habe versucht, diese Aufgabe aus einem anderen Blickwinkel zu lösen, aber ich stecke fest und konnte nicht herausfinden, wo ich falsch liege. Deshalb habe ich diese Frage zur Leitlinie hinzugefügt.

Ich versuche folgendes Skript zum Löschen des Datensatzes.

Controller.php

%Vor%

Routen.php

%Vor%

In der Ansicht

%Vor%

App.js

%Vor%

Wenn ich auf "Löschen" klicke, wird der Fehler NetworkError: 405 Method Not Allowed in der Konsole angezeigt. Ohne Ajax funktioniert die Löschfunktion korrekt.

Kann mir jemand sagen, wo ich falsch liege, dass ich das Problem beheben kann, würde ich mich freuen, wenn mich jemand diesbezüglich informieren würde. Danke ..

    
Ayaz Shah 06.09.2016, 13:58
quelle

3 Antworten

14

Anstatt Route::get zu verwenden, verwenden Sie Route::delete .

Zusätzlich ändern Sie die type: 'Put' zu type: 'DELETE' im Ajax-Aufruf.

P.S. Dieser Code

%Vor%

kann wie folgt geschrieben werden:

%Vor%

Oder noch kürzer:

%Vor%     
siannone 06.09.2016, 14:21
quelle
1

Ich nehme einen Arbeitsablauf des Löschens mit einer Anfrage VERB wieder auf. Hoffe es hilft

  

und es gibt einen kommentierten Code im Controller, der eine Ajax-Anfrage bearbeiten könnte

In der Form (mit Klinge):

%Vor%

Route:

%Vor%

ProductController:

%Vor%

Im Redirect-Teil gehe ich mit einem Erfolgsmelder auf meine Listenseite (admin.products) zurück. Die Route wäre:

%Vor%

So können Sie den Fluss vervollständigen.

    
Rodrigo Butta 06.09.2016 16:23
quelle
1

Stellen Sie sicher, dass Sie dies im meta -Tag Ihrer Ansicht hinzufügen

%Vor%

Mache dies in deinem Routes

%Vor%

Mach dies in deinem Controller

%Vor%

oder

%Vor%

Da es sich um eine delete -Anfrage handelt, müssten Sie csrf_token zusammen mit Ihrem Ajax-Header senden, wie es auf der offiziellen Website heißt. Ссылка

Stellen Sie sicher, dass Sie dies vor dem Ajax-Anruf hinzufügen

%Vor%

Senden Sie jetzt die Anfrage

%Vor%

Ich hoffe, das hilft.

    
Koushik Das 06.10.2017 04:33
quelle

Tags und Links