Ajax всегда идет в разделе ошибок

-3

У меня есть следующий вызов Ajax на click(), запись удаляется из таблицы базы данных, но выполняется код секции ошибки ajax, а не раздел успеха. Также я получаю ошибку 405,

Изображение 174551

Но записи удаляются, Ниже приведен код.

$(".DeleteUser").click(function(){
    var id = $(this).data("id");
    var token = $(this).data("token");
    $.ajax(
    {
        url: "users/"+id,
        type: 'DELETE',
        dataType: "text",
        data: {
            "id": id,
            "_method": 'DELETE',
            "_token": token,
        },
        success: function ()
        {
            console.log("it Work");
        },
        error: function() {
            alert('fail');
        }
    });

    console.log("It failed");
});

Код сервера:

public function destroy($id) {
    $user = $this->find($id);
    $user->delete();
    $notification = array(
        'message' => 'User has been Deleted !',
        'alert-type' => 'success',
    );
    return redirect()->route('users.index');
}
  • 2
    http 405 означает, что сервер не позволяет выполнить код. Как возможно удаление записи
  • 5
    проверьте логи сервера. ошибка вызвана тем, что ваш сервер сообщает об ошибке с кодом состояния 405
Показать ещё 8 комментариев
Теги:
request

2 ответа

0

вы не заканчиваете свой ответ. Но перенаправление на другую страницу.

Пропустите это перенаправление и завершите цикл запроса-ответа.

public function destroy($id) {
    $user = $this->find($id);
    $user->delete();
    $notification = array(
        'message' => 'User has been Deleted !',
        'alert-type' => 'success',
    );
    //return redirect()->route('users.index'); //skip it
    header('Content-Type: application/json');
    echo json_encode($notification);
}
0

Вы использовали 'type: "DELETE"'. Вместо этого вы должны ИСПОЛЬЗОВАТЬ 'type: "post"'. Вы также можете использовать 'get'

  • 0
    Не работает......

Ещё вопросы

Сообщество Overcoder
Наверх
Меню