Laravel Уничтожение контроллера ресурсов дает мне ошибку с Ajax - PullRequest
0 голосов
/ 09 февраля 2020

вот мой код.

$('.btn-danger').click(function () {
        id=$(this).attr('id');
        alertify.confirm("Want to delete?", "It's not possible to turn back!",
            function () {
                $.ajax({
                    type: 'DELETE',
                    url: '/blog/'+ id,
                    success: function (msg) {
                        alert(msg)
                     if (msg){
                         $("item-"+id).remove()
                         alertify.success('Done!')
                     }
                     else{
                         alertify.error('There's an error!')
                     }
                    },
                    error: function (jqXHR, textStatus, errorThrown) {
                        alertify.error('error var' + 'blog/'+id)
                        var msg = '';
                        if (jqXHR.status === 0) {
                            msg = 'Not connect.\n Verify Network.';
                        } else if (jqXHR.status == 404) {
                            msg = 'Requested page not found. [404]';
                        } else if (jqXHR.status == 500) {
                            msg = 'Internal Server Error [500].';
                        } else if (exception === 'parsererror') {
                            msg = 'Requested JSON parse failed.';
                        } else if (exception === 'timeout') {
                            msg = 'Time out error.';
                        } else if (exception === 'abort') {
                            msg = 'Ajax request aborted.';
                        } else {
                            msg = 'Uncaught Error.\n' + jqXHR.responseText;
                        }
                        alert(msg)
                    }
                })
            },
            function () {
                alertify.error('Deleting cancelled.')
            }
        )
    })

А вот мой маршрут.

Route::namespace('AdminPanel')->group(function (){
Route::prefix('admin')->group(function (){
    Route::resource('blog','BlogController');
});

});

и вот мой метод уничтожения.

public function destroy($id)
{
    $blog = Blogs::find(intval($id));
    if ($blog->delete()){
        echo 1;
    }
    echo 0;
}

и вот мой список маршрутов (для ответа на этот вопрос):

https://prnt.sc/qzmitr

Но каждый раз, когда я пытался нажать «Удалить» и говорил «ОК», ajax не могу go с функцией успеха. Возникла ошибка: «Запрошенная страница не найдена. [404]».

Как я могу решить эту проблему?

1 Ответ

0 голосов
/ 09 февраля 2020

Ваш URL url: '/blog/'+ id, недействителен, и вам нужно передать _token

url:'{{ route('blog.destroy', '') }}/'+id,
data:{_token:'{{ csrf_token() }}'},
...