Php Laravel,将令牌从控制器传递到视图
我不明白为什么这里不能正常工作。在这个控制器中,我访问了一个API端点,如果成功,它将返回一个令牌数组。在这里,我将这些令牌中的一个设置为accessToken变量,并尝试将其传递给视图,以便在那里的另一个调用中使用 Controller.phpPhp Laravel,将令牌从控制器传递到视图,php,laravel,Php,Laravel,我不明白为什么这里不能正常工作。在这个控制器中,我访问了一个API端点,如果成功,它将返回一个令牌数组。在这里,我将这些令牌中的一个设置为accessToken变量,并尝试将其传递给视图,以便在那里的另一个调用中使用 Controller.php $initialLogin = $authService->initialLogin($newPhone,$request->temp_password,$request->email,$request->password_co
$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);
当这个过程完成后,在测试了dump和die(它确实显示了我的令牌)之后,它成功地将我重定向到我的视图。这里的问题是,在视图上转储变量时,它显示null
view.php
<?php dd($accessToken)?>
这是怎么回事?我可以验证在我的控制器中转储
$initialLogin
是否显示令牌,我可以验证$accessToken
是否设置为我需要的特定令牌,为什么它没有正确传递?IIRC,在使用时创建了会话变量,因此,进行以下更改:
变,
return redirect(route('auth.phone'))->with('accessToken',$accessToken);
到
这样,实际上就是将变量传递给视图或者,如果您想继续将与
一起使用,则使用会话帮助程序(session('accessToken')
)访问令牌。当您使用with帮助程序重定向时,laravel会在用户会话中设置变量,而不是在视图中设置变量
试试这个
@if(session('accessToken'))
{{ session('accessToken') }}
@endif
您的令牌位于会话::
,它不是直接引用的,而是闪烁的。您可以使用{{session()->get('accessToken')}}在blade中检索它
谢谢,我想我感觉更好,可以像您所说的那样将它传递给视图,这样我就可以在视图中继续使用它作为隐藏对象input@TomN. 如果它也在会话中,您仍然可以将其用作隐藏输入。不过,不管哪种方法都可以,我想这是首选。一个简单的问题:我正在使用您告诉我要将其更改为的选项,但在视图中,我无法使用``value=“{{$accessToken}}}}”将其设置为隐藏输入,但它会显示为URL参数,逻辑是合理的,但由于我进行了更改,我在会话中不再看到它,只有URLparam@TomN. 您希望它在会话中还是作为查询字符串?
@if(session('accessToken'))
{{ session('accessToken') }}
@endif