此路由不支持Laravel Vue删除方法。支持的方法:GET、HEAD
我的actions.js中有以下代码此路由不支持Laravel Vue删除方法。支持的方法:GET、HEAD,laravel,vue.js,laravel-routing,laravel-6,Laravel,Vue.js,Laravel Routing,Laravel 6,我的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 => { dispa
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'
]);
user: {
index : '/user',
store: '/user',
update: function(userid){
return '/user/' + userid
},
delete: function(id){
return '/user/' + id;
}
},
config.blade.php
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();
}
我认为问题在于你的用户路线定义。假设您不使用路由分组而不是
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'
]);
你的路线是在一个团队内吗?如果是这样,请为您添加所有代码
api.php
文件。@AgustinCoronel因此您应该在浏览器控制台中验证达到了什么url,然后在php终端php artisan route:list
命令中运行,以确保您有与DELETE
方法对应的url。我在列表中有以下内容:DELETE | api/user/user/{user}| | App\Http\Controllers\UserController@destroy| api,auth:api,权限:user.delete