繁体   English   中英

Laravel,将令牌从控制器传递到视图

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

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM