我正在处理Laravel项目,并在侧边栏中添加了注销链接
<a class="dropdown-item" href="{{ route('logout') }}"
onclick="event.preventDefault();
document.getElementById('logout-form').submit();">
{{ __('Se déconnecter') }}
</a>
<form id="logout-form" action="{{ ('logout') }}" method="POST" style="display: none;">
@csrf
</form>
但是一旦我单击链接,我就会未找到查看[登录]。
你能帮忙吗?
更新2
我将注销链接放在侧边栏视图中
<div class="navbar-default sidebar" role="navigation">
<div class="sidebar-nav navbar-collapse">
<ul class="nav" id="side-menu">
<li>
<a href="index.html"><i class="fa fa-dashboard fa-fw"></i> Dashboard</a>
</li>
<li>
<a href="#"><i class="fa fa-bar-chart-o fa-fw"></i> After sales & Parts<span class="fa arrow fa-fw"></span></a>
<ul class="nav nav-second-level">
<li>
<a href="">Obeya</a>
</li>
<li>
<a href="">Parts</a>
</li>
</ul>
<!-- /.nav-second-level -->
</li>
<li>
<a href=""><i class="fa fa-usd fa-fw"></i> Finances</a>
</li>
<li>
<a href=""><i class="fa fa-lg fa-cog fa-fw"></i> Paramétrages</a>
</li>
<li>
<a href="{{ route('logout') }}"
onclick="event.preventDefault();
document.getElementById('logout-form').submit();">
<i class="fa fa-sign-out fa-fw"></i>
{{ __('Se déconnecter') }}
</a>
<form id="logout-form" action="{{ route('logout') }}" method="POST" style="display: none;">
@csrf
</form>
</li>
</ul>
</div>
<!-- /.sidebar-collapse -->
答案 0 :(得分:1)
我认为您错过了表单中的route
功能!
您应该更改:
<form id="logout-form" action="{{ ('logout') }}" method="POST" style="display: none;">
@csrf
</form>
到
<form id="logout-form" action="{{ route('logout') }}" method="POST" style="display: none;">
@csrf
</form>
有关更多详细信息,请检查Auth Code
更新:
OP在login
之后重定向到logout
视图,但是OP在其路线中未正确调用该视图。
在OP web.php中,返回代码如下:
return view('login');
因此,将上面的代码更改为下面的代码后,它开始工作
return view('auth.login');
因为当我们运行php artisan make:auth
时,登录名和其他文件都位于auth目录中!
答案 1 :(得分:0)
您必须将路线命名为“登录” 例子
Route::get('/userlogin',['as'=>'login','uses'=>'yourcontroller@yourmethod']);
或
Route::get('/userlogin', function () {
//
})->name('login');