Ajax не может запустить функцию в контроллере в Laravel - PullRequest
0 голосов
/ 02 мая 2020

У меня проблема с ajax. У меня есть ряды элементов, в каждой строке есть кнопка удаления. Так что я могу отправить идентификатор предмета на ajax и на контроллер и сделать свои вещи. Моя проблема в том, что я не могу запустить функцию контроллера.

Это мой JS - AJAX

$(".remove-officer-button").on('click', function (e) {

    if (confirm('Are you sure you want to delete this?')) {
        var whichtr = $(this).closest("tr");
        var itemId = '{!! $row->id !!}';
        var token = '{!! csrf_field() !!}';
        whichtr.remove();

        $.ajax({
            type: "Post",
            dataType: "json",
            url: '{{ route('admin.item.delete', app()->getLocale()) }}',

            data:{
                '_token': token,
                '_method': 'POST',
                'itemId': itemId
            },
            success: function () {
                console.log(data.success)
            }
        });
    }else {
        console.log(data.error)
    }


});

Мой маршрут:

 Route::get('/ajax_delete', 'HomeController@ajaxDelete')->name('admin.item.delete');

Контроллер:

public function ajaxDelete(Request $request)
{
    dd($request);
    return $this->AOrepository->ajaxDelete($request);
}

Это показывает браузер: 405 means Method not allowed 405: метод не разрешен

Таким образом, в результате строка удаляется whichtr.remove();, но это все. Также я пытался только перенаправить куда-нибудь в контроллер, но это не работает

Пожалуйста, вы можете мне помочь, ребята?

1 Ответ

0 голосов
/ 02 мая 2020

Вы используете Route::get, но в вашем JavaScript вы делаете POST звонок. Вам следует либо изменить Route::get на Route::post, либо изменить JavaScript на type: 'Get'.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...