2017-11-06 3 views
1

私はLaravel 5.3を使用しており、カスタムヘッダーを持つURLにリダイレクトしようとしています。しかし、リダイレクトされたページでヘッダー値を取得していない方法や、リダイレクト中にヘッダー値が送信されないということがあります。Laravel:メソッドのルートURLを取得するためにリダイレクト中にカスタムヘッダーを設定および取得する方法

return redirect()->route('frontend.seller.signup')->header('referal_code', $referal_code); 

と私はコードの下に使用しますが、私は私が何か間違ったことをやっている場合は私に知らせてくださいヘッダー値

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

を受け取るないヘッダー値を取得するために:

私はこのコードを使用しています。

+0

$ requestオブジェクトの値を別のページにリダイレクトすると、新しい値で置き換えられます。 $ referalCodeを渡すには、セッションに入れる必要があります。 –

+0

他に解決策はありますか? –

+0

Session :: put( 'referalCode'、$ referalCode) 'のようなセッション変数を入れることができます。 if(Session :: has( 'referalCode')){$ referalCode = Session :: get( 'referalCode')} 'を呼び出します。やってみて。 –

答えて

0

応答にヘッダーを設定すると(リダイレクトでも応答)ヘッダーがクライアントのブラウザーに送信されます。

ブラウザはレスポンスを処理し、ページを新しいURLにリダイレクトし、サーバーに新しいリクエストを行います。したがって、わかるように、以前のカスタムヘッダーは新しいリクエストで使用できなくなります。

URLをターゲットにする()機能でを使用して、任意のVARを送ることができますすることができますちなみに

$referral_code = session('referral_code'); 

redirect()->route('frontend.seller.signup')->with('referral_code', $referral_code); 

とセッションを使用して、ターゲット関数の変数を取得しますリファラーにパラメータを設定せずに各リクエストでリファラを取得します。

$referer = $request->headers->get('referer'); 
関連する問題