Я пытаюсь выполнить запрос POST с jQuery, но im получает ошибку 405 (метод не разрешен), Im работает с Laravel 5
Это мой код:
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() !!}
контроллер
public function delete($id, \Request $request){ return $id; }
Ошибка JQuery: http: //localhost/laravel5.1/public/empresas/eliminar/5 405 (метод не разрешен).
Значение URL-адреса
http://localhost/laravel5.1/public/empresas/eliminar/5
и значение данных
_method=DELETE&_token=pCETpf1jDT1rY615o62W0UK7hs3UnTNm1t0vmIRZ.
Если я $.get
запросу $.get
он работает нормально, но я хочу сделать запрос на $.get
.
Кто-нибудь может мне помочь?
Благодарю.
РЕДАКТИРОВАТЬ!!
маршрут
Route::post('empresas/eliminar/{id}', ['as' => 'companiesDelete', 'uses' => 'CompaniesController@delete']);
Исключение methodNotAllowed
указывает, что маршрут не существует для HTTP-метода, который вы запрашиваете.
Ваша форма настроена на выполнение запроса DELETE
, поэтому для получения этого маршрута вам необходимо использовать Route::delete()
.
Route::delete('empresas/eliminar/{id}', [ 'as' => 'companiesDelete', 'uses' => 'CompaniesController@delete' ]);
Ваш файл route.php должен быть настроен правильно.
Я предполагаю, что ваша текущая настройка похожа:
Route::post('/empresas/eliminar/{id}','CompanyController@companiesDelete');
или что-то. Определите маршрут для метода удаления.
Route::delete('/empresas/eliminar/{id}','CompanyController@companiesDelete');
Теперь, если вы используете ресурс Route, имя маршрута по умолчанию, используемое для метода DELETE, является .destroy. Вместо этого определите логику удаления в этой функции.