[英]logout doesn't work laravel jetstream, inertia+vue.js
我嘗試使用 laravel、jetstream 和 inertia+vue.js 構建一個應用程序
除注銷外,每條路線都可以正常工作。
AppLayout.vue 中慣性提供的原始代碼打開了一個帶有 404 錯誤的模式 - 但注銷有效:
<form @submit.prevent="logout">
<JetDropdownLink as="button">
Log Out
</JetDropdownLink>
</form>
經過一些研究后,我嘗試了另一種方法,它給了我這個錯誤:這條路線不支持 POST 方法。 支持的方法:GET、HEAD。 注銷不起作用。
<form method="post">
<JetDropdownLink as="button" type="submit" onclick="event.preventDefault(); this.closest('form').submit();">
Logout
</JetDropdownLink>
</form>
我嘗試了某種混搭 - 它停留在同一頁面上,但在 URL: https://website.fr/app/dashboard的末尾出現了一個問號?
<form @submit.prevent="logout">
<JetDropdownLink as="button" onclick="event.preventDefault(); this.closest('form').submit();">
Logout
</JetDropdownLink>
</form>
我不知道問題出在哪里。
在 AppLayout.vue 頂部的腳本中:
const logout = () => {
Inertia.post(route('logout'));
};
vendor/laravel/fortify/routes 中的路由:
Route::post('/logout', [AuthenticatedSessionController::class, 'destroy'])
->name('logout');
任何幫助都感激不盡
完成:注銷后只需要在登錄頁面上添加一個重定向路由,因為注銷重定向到 / 路由
Route::get('/', function() {
return redirect()->route('login');
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.