簡體   English   中英

注銷不起作用 laravel jetstream, inertia+vue.js

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM