此路线不支持Laravel Vue DELETE方法。支持的方法:GET,HEAD

问题描述 投票:0回答:1

我的actions.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);
        });
};

api.php

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

config.blade.php

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

Controller

public function destroy(Request $request, $id)
{
    $user = User::find($id);
    $user->delete();
}
laravel vue.js laravel-routing laravel-6
1个回答
1
投票

我认为问题在于您的用户路线定义。假设您不使用路由分组代替

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'    
        ]);
© www.soinside.com 2019 - 2024. All rights reserved.