【问题标题】:Call a route of post method from laravel从 laravel 调用 post 方法的路由
【发布时间】:2021-09-03 00:40:07
【问题描述】:

我想从 Laravel API 部分调用 post 方法的路由,而不是从 blade 文件中。

这是我的路线

Route::post('/logout', [LogoutController::class, 'destroy'])->name('logout');

这是LogoutController 类中的destroy 函数

public function destroy(Request $request) {}

我已尝试使用以下代码。但这些都不起作用。

return redirect()->route('logout', ['request' => $request]);
return redirect()->route('logout', [$request]);
return redirect()->route('logout')->with('request', $request);

注意:方法只能是post。我们无法将其更改为 GET

谢谢。

【问题讨论】:

  • 来自这个类的一个函数app/Http/Middleware/SingleSignon.php
  • 我不明白您为什么要在控制器的方法中执行注销请求。除了为什么要使用 POST 而不是 GET 执行注销?

标签: php laravel post routes logout


【解决方案1】:

POST 方法不能这样调用。您只能重定向到GET 路由。如果您希望从中间件注销,只需像在控制器函数中一样从中间件调用 Auth::logout() 函数,然后刷新会话 ($request->session()->invalidate();)。

如果您真的想要使用POST 方法路由,则必须使用诸如Guzzle 之类的客户端

【讨论】:

    猜你喜欢
    • 2019-08-23
    • 2015-01-02
    • 2020-12-05
    • 2018-08-09
    • 2020-01-21
    • 2021-03-09
    • 2020-10-06
    • 1970-01-01
    • 2021-01-14
    相关资源
    最近更新 更多