Метод удаления Laravel Vue не поддерживается для этого маршрута. Поддерживаемые методы: GET, HEAD

Метод удаления Laravel Vue не поддерживается для этого маршрута. Поддерживаемые методы: GET, HEAD

24.12.2019 09:35:40 Просмотров 42 Источник

У меня есть следующий код в моих действиях.JS.

export const deleteUser = ({ dispatch }, payload) => {
    console.log("El numero de id es js: ", payload.id);
    return axios
        .delete(window.urls.user.delete(payload.id))
        .then(respone => {
            dispatch("fetchUsers");
            return Promise.resolve();
        })
        .catch(error => {
            return Promise.reject(error);
        });
};

прикладной программный интерфейс.РНР

Route::delete('/{user}', [
    'uses' => 'UserController@destroy',
    'middleware' => 'permission:user.delete',
    'can:delete,user'    
]);

конфиг.лезвие.РНР

user: {
            index : '/user',
            store: '/user',
            update: function(userid){
                return '/user/' + userid
            },
            delete: function(id){
                return '/user/' + id;
            }
        }, 

Контроллер

public function destroy(Request $request, $id)
{
    $user = User::find($id);
    $user->delete();
}
У вопроса есть решение - Посмотреть?

Ответы - Метод удаления Laravel Vue не поддерживается для этого маршрута. Поддерживаемые методы: GET, HEAD / Laravel Vue DELETE method not supported for this route. Supported methods: GET, HEAD

Marcin Nabiałek

24.12.2019 09:39:44

Я думаю, что проблема заключается в определении пользовательского маршрута. Предполагая, что вы не используете группировку маршрутов вместо

Route::delete('/{user}', [
            'uses' => 'UserController@destroy',
            'middleware' => 'permission:user.delete',
            'can:delete,user'    
        ]);

тебе стоит попробовать:

Route::delete('/user/{user}', [
            'uses' => 'UserController@destroy',
            'middleware' => 'permission:user.delete',
            'can:delete,user'    
        ]);
https://stackoverflow.com/questions/59472386/laravel-vue-delete-method-not-supported-for-this-route-supported-methods-get/59472431#comment105123558_59472431
я пробовал его но он не работает
https://stackoverflow.com/questions/59472386/laravel-vue-delete-method-not-supported-for-this-route-supported-methods-get/59472431#comment105123892_59472431
@AgustinCoronel таким образом, вы должны проверить в консоли браузера, какой url достигнут, а затем запустить в терминале php php artisan route:listlist, чтобы убедиться, что у вас есть соответствующий url с методом DELETE
https://stackoverflow.com/questions/59472386/laravel-vue-delete-method-not-supported-for-this-route-supported-methods-get/59472431#comment105125724_59472431
у меня это в списке: удалить | АПИ/пользователей/пользователей/{пользователь} | | приложение\НТТР\контроллеры\UserController@уничтожить | API-интерфейса,авторизации по API,разрешение:пользователей.удалить
Закрыть X