You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel中Auth::logout()执行后重定向失效问题求助

Laravel登出后重定向失效问题解决

问题场景

在Laravel中实现用户从/admin/home页面登出后,期望重定向到根路径/。按照官方文档编写logout方法后,登出功能正常,但页面URL仍停留在/admin/home,重定向未生效。相关配置如下:

后端Logout方法

public function logout(Request $request)
{
    Auth::logout();
 
    $request->session()->invalidate();
 
    $request->session()->regenerateToken();
 
    return redirect('/');
}

路由配置

Route::group(['middleware' => 'auth', 'prefix' => 'admin'], function() {
    // ...其他路由
    Route::post('/logout', [LoginController::class, 'logout']);
    Route::any('/{any}', function () {
        Route::inertia('/', 'home')->name('admin.home');
    });
});

前端请求代码

const logout = () => {
    axios.post('/admin/logout')
}

额外信息:用户表users未使用remember_token字段;前端请求无额外参数。

问题原因

你用axios.post发起的是异步AJAX请求,浏览器不会自动执行后端返回的redirect响应——后端的重定向指令只会作为HTTP响应返回给前端JS,而不会触发浏览器的页面跳转。

解决方案

方案1:前端请求成功后手动跳转

直接在axios请求的成功回调里,通过JS强制跳转页面:

const logout = () => {
    axios.post('/admin/logout')
        .then(() => {
            window.location.href = '/'; // 手动跳转到根路径
        })
        .catch(err => {
            console.error('登出失败', err);
        });
}

方案2:后端返回JSON指令,前端根据指令跳转

如果需要后端控制跳转地址,可以修改logout方法返回JSON:

public function logout(Request $request)
{
    Auth::logout();
 
    $request->session()->invalidate();
 
    $request->session()->regenerateToken();
 
    return response()->json(['redirect_url' => '/']);
}

然后前端接收响应后跳转:

const logout = () => {
    axios.post('/admin/logout')
        .then(res => {
            if (res.data.redirect_url) {
                window.location.href = res.data.redirect_url;
            }
        })
        .catch(err => {
            console.error('登出失败', err);
        });
}

注意事项

  • 确保axios请求没有跨域问题,否则可能无法正常接收响应
  • 若使用Inertia.js(路由里用到了Route::inertia),也可以用Inertia的visit方法跳转,比如Inertia.visit('/'),更符合Inertia的生态

内容的提问来源于stack exchange,提问作者Artur Müller Romanov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 04:57:24