[英]Laravel, passing a token from controller to view
我很困惑为什么这在这里不能正常工作。 在此控制器中,我要命中一个API端点,该端点成功后会给我一个令牌数组。 在这里,我将其中一个标记设置为accessToken变量,并尝试将其传递给视图以在另一个调用中使用
Controller.php这样
$initialLogin = $authService->initialLogin($newPhone,$request->temp_password,$request->email,$request->password_confirmation);
//this dump and die successfully dumps the token array, so I know I'm getting my tokens
dd($initialLogin);
//Here I'm setting the variable to one of the specific tokens
$accessToken = $initialLogin->auth_access_token;
//Now I'm redirecting to a view, which I'm successfully shown
return redirect(route('auth.phone'))->with('accessToken',$accessToken);
该过程完成后,在测试了确实显示了令牌的转储和死亡之后,它成功地将我重定向到视图。 这里的问题是,在视图上转储变量时,它显示为null
view.php
<?php dd($accessToken)?>
这是怎么回事? 我可以验证在控制器中转储$initialLogin
是否显示令牌,并且可以验证$accessToken
是否设置为所需的特定令牌,那么为什么不能正确传递呢?
IIRC,当使用with
创建一个会话变量,因此,进行以下的改变:
更改,
return redirect(route('auth.phone'))->with('accessToken',$accessToken);
至
return redirect(route('auth.phone', ['accessToken' => $accessToken]));
这样,您实际上是将变量传递给视图。 或者 ,如果您想继续使用with
使用会话帮助器( session('accessToken')
)访问令牌。
当您使用with帮助程序进行重定向时,laravel在用户会话中而不是在视图中设置变量
尝试这个
@if(session('accessToken'))
{{ session('accessToken') }}
@endif
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.