我有一个vue按钮短名单的用户。当我点击按钮时,它可以访问路由,但不能访问控制器。我有一个常规的按钮内的表单标签和设置动作到相同的url。一切正常。但唯一的问题是,它在处理后会重定向到另一个空白页面。
vue按钮@click方法
<template>
<button class="button" @click="shortlistUser">Shortlist</button>
</template>
<script>
export default {
props:['userId'],
mounted() {
console.log('Component mounted.')
},
methods:{
shortlistUser(){
axios.get('/shortlist/' + this.userId);
}
}
}
</script>
web.php (this works)
Route::get('/shortlist/{user}', function (){
$employer = Auth::User();
$employer->candidates()->toggle([2]);
});
当我想通过控制器做同样的事情时,什么也没有发生。
Route::get('/shortlist/{user}', [ControllersShortlistController::class, 'index']);
控制器
public function index(User $user)
{
$employer = Auth::User();
$employer->candidates()->toggle($user);
}
问题存在于您的axois调用中,userId发送未定义,请确保您将userId发送到shortlist路由。试着像这样输入用户id硬代码来测试这个场景:axios.get('/shortlist/2');