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

Laravel 5.6:如何在Blade模板中获取当前路由名称?

如何在Blade模板中获取当前路由名称并实现页面刷新

想要在Blade里获取当前路由名称,最靠谱的方法是使用Route::currentRouteName()这个Laravel提供的方法——它会直接返回你在路由定义里设置的name()属性值,精准又方便。

看你的代码,原来用Route::current()其实是返回了整个路由对象,直接放在window.location里会生成不符合预期的URL。推荐你改成结合route()辅助函数的写法,这样能正确生成当前路由对应的URL:

<li class="dropdown user user-menu" onclick="window.location='{{ route(Route::currentRouteName()) }}'" style="cursor: pointer;">
    <a href="#" class="dropdown-toggle" data-toggle="dropdown">
        <i class="livicon" data-name="refresh" data-loop="true" data-color="#42aaca" data-hovercolor="#42aaca" data-size="28"></i>
    </a>
</li>

举个例子,假设你的路由定义是这样的:

Route::get('/admin/dashboard', [AdminController::class, 'dashboard'])->name('admin.dashboard');

那Route::currentRouteName()就会返回admin.dashboard,再通过route()函数就能生成对应的/admin/dashboard URL,点击后就会重新加载这个页面。

另外,如果你的需求只是单纯刷新当前页面,其实还有更简单的方式——直接用原生JS的window.location.reload(),完全不需要涉及路由名称:

<li class="dropdown user user-menu" onclick="window.location.reload()" style="cursor: pointer;">
    <a href="#" class="dropdown-toggle" data-toggle="dropdown">
        <i class="livicon" data-name="refresh" data-loop="true" data-color="#42aaca" data-hovercolor="#42aaca" data-size="28"></i>
    </a>
</li>

这种写法更简洁,适合不需要跳转路由,只是刷新当前页面的场景。

内容的提问来源于stack exchange,提问作者debrata

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 08:55:36