JavaScript — VueJS и Laravel: запрос DELETE превращается в исключение MethodNotAllowedHttpException

Я пытаюсь сделать запрос DELETE на мой Laravel API.

У меня есть приложение Todo-App и tasks.js с removeTask Метод, который получает объект задачи передано в качестве аргумента.

removeTask: function(task)
{
this.tasks.$remove(task);

this.$http.delete('/api/tasks', { task, 'method': 'DELETE' });
},

Вот что я получаю в своих chrome-dev-tools:

Скриншот Chrome Dev Tools

И это метод уничтожения на моем TasksController:

public function destroy(Request $request, $id)
{
//
return response()->json(Input::all());
}

Где именно я здесь не так?

Заранее спасибо.

РЕДАКТИРОВАТЬ

У меня изобретательный маршрут, который выглядит так:

Route::get('/', function () {
return view('pages.tasks.index');
});

Route::group(['prefix' => 'api'], function() {
Route::resource('tasks', 'TasksController');
});

0

Решение

Установить маршрут в Laravel’s routes.php файл как это:

Route::delete('api/tasks', 'TasksController@destroy');
1

Другие решения

Ошибка была в removeTask метод с Vue:

removeTask: function(task)
{
this.tasks.$remove(task);

this.$http.delete('/api/tasks', { task, 'method': 'DELETE' });
},

Должно было иметь это:

removeTask: function(task)
{
this.tasks.$remove(task);

this.$http.delete('/api/tasks/' + task.id, task);
},

Не передавайте идентификатор, как подсказывал мой изобретательный маршрут.

0

По вопросам рекламы [email protected]