GOOGLE ADS

Dienstag, 12. April 2022

Fehler 405 (Methode nicht erlaubt) Laravel 5

Ich versuche, eine POST-Anfrage mit jQuery zu machen, aber ich erhalte einen Fehler 405 (Method Not Allowed), ich arbeite mit Laravel 5

Das ist mein Code:

jQuery

<script type="text/javascript">
$(document).ready(function () {
$('.delete').click(function (e){
e.preventDefault();
var row = $(this).parents('tr');
var id = row.data('id');
var form = $('#formDelete');
var url = form.attr('action').replace(':USER_ID', id);
var data = form.serialize();
$.post(url, data, function (result){
alert(result);
});
});
});
</script>

HTML

{!! Form::open(['route' => ['companiesDelete', ':USER_ID'], 'method' =>'DELETE', 'id' => 'formDelete'])!!}
{!!Form::close()!!}

Regler

public function delete($id, \Request $request){
return $id;
}

Der Jquery-Fehler lautet http://localhost/laravel5.1/public/empresas/eliminar/5 405 (Method Not Allowed).

Der URL-Wert ist

http://localhost/laravel5.1/public/empresas/eliminar/5

und der Datenwert ist

_method=DELETE&_token=pCETpf1jDT1rY615o62W0UK7hs3UnTNm1t0vmIRZ.

Wenn ich auf $.getAnfrage ändere, funktioniert es gut, aber ich möchte eine Post-Anfrage machen.

Wer könnte mir helfen?

Vielen Dank.

BEARBEITEN!!

Route

Route::post('empresas/eliminar/{id}', ['as' => 'companiesDelete', 'uses' => 'CompaniesController@delete']);


Lösung des Problems

Die methodNotAllowedAusnahme gibt an, dass für die angeforderte HTTP-Methode keine Route existiert.

Ihr Formular ist so eingerichtet, dass es eine DELETEAnfrage stellt, daher muss Ihre Route verwendet werden Route::delete(), um diese zu erhalten.

Route::delete('empresas/eliminar/{id}', [
'as' => 'companiesDelete',
'uses' => 'CompaniesController@delete'
]);

Keine Kommentare:

Kommentar veröffentlichen

Warum werden SCHED_FIFO-Threads derselben physischen CPU zugewiesen, obwohl CPUs im Leerlauf verfügbar sind?

Lösung des Problems Wenn ich das richtig verstehe, versuchen Sie, SCHED_FIFO mit aktiviertem Hyperthreading ("HT") zu verwenden, ...