提问人:Tom 提问时间:11/13/2023 更新时间:11/16/2023 访问量:38
Larvel - 如何使用令牌返回视图
Larvel - how to return view with token
问:
Route::get('/password/reset/{token}', [PasswordResetController::class, 'showResetPasswordPage'])->name('password.reset.token');
public function showResetPasswordPage(Request $request)
{
$token = $request->route()->parameter('token');
return view('resetpassword')->with(
['token' => $token]
);
}
我在 web.php 中将其作为我的路由 - 如果它将参数作为 1234 作为令牌引用传递,则返回视图,我可以获取令牌。
但是,我使用的 API 会发送一个重置代码,例如“PKKGhoTq6Po3HzgpqThGyN1g8%2F%2BvPabz”,如果我传递给 url - 显示为未找到。
有没有办法解析它,以便我可以像使用 1234 时那样返回带有令牌的视图?
任何帮助将不胜感激。
尝试了不同的参数/路线设置,但无济于事。
答:
0赞
Tom
11/13/2023
#1
似乎是这种情况 - 我添加了 ->where('token', '.*');到 web.php 中路由的末尾,现在视图正在加载并且令牌可用。
在 web.php 中,这是返回视图的路由:
Route::get('/password/reset/{resetCode}', [PasswordResetController::class, 'showResetPasswordPage'])->name('password.reset.resetCode')->where('resetCode', '.*');
控制器:
public function showResetPasswordPage(Request $request, string $resetCode)
{
return view('resetpassword')->with(
['token' => $resetCode]
);
}
添加 ->where('resetCode', '.*');到路由的末尾,阻止了 Larvel 过滤令牌并将其顺利地传递给视图。
评论
$token = $request->route()->parameter('token');
public function showResetPasswordPage(Request $request, string $token)