Php 拉雷维尔:如何设置&;重定向以获取方法路由url时获取自定义标头

Php 拉雷维尔:如何设置&;重定向以获取方法路由url时获取自定义标头,php,laravel,laravel-5.2,laravel-5.3,Php,Laravel,Laravel 5.2,Laravel 5.3,我正在使用Laravel5.3并尝试重定向到带有自定义标题的url。但有些人认为我在重定向页面中没有得到标题值,或者我们可以说在重定向时标题值没有被发送 我正在使用以下代码: return redirect()->route('frontend.seller.signup')->header('referal_code', $referal_code); 对于获取头值,我使用下面的代码,但我没有收到头值 $referal_code = Request::header('refera

我正在使用Laravel5.3并尝试重定向到带有自定义标题的url。但有些人认为我在重定向页面中没有得到标题值,或者我们可以说在重定向时标题值没有被发送

我正在使用以下代码:

return redirect()->route('frontend.seller.signup')->header('referal_code', $referal_code);
对于获取头值,我使用下面的代码,但我没有收到头值

$referal_code = Request::header('referal_code');

如果我做错了,请告诉我。

当您为响应设置标题时(即使重定向是响应),标题也会发送到客户端浏览器

浏览器将处理响应并将页面重定向到新URL,并向服务器发出新请求,因此您可以确定,您以前的自定义标题在新请求中不可用

您可以使用with()函数将任何变量发送到目标url:

redirect()->route('frontend.seller.signup')->with('referral_code', $referral_code);
并使用会话获取目标函数中的变量:

$referral_code = session('referral_code');
顺便说一下,您可以在每个请求中获得推荐人,而无需在推荐人中设置任何参数,如果这对您的情况有帮助:

$referer = $request->headers->get('referer');

当您重定向到另一个页面时,$request对象的值被新值替换。为了传递$referealCode,您需要将其放入会话中。是否有其他解决方案?您可以放入会话变量,如
Session::put('referealCode',$referealCode)
。获取thorugh
if(Session::has('referealcode')){$referealcode=Session::get('referealcode')}
。试试看。