発生している問題
フロントから取得した値をセッションへ保存し、リダイレクト先でその値を表示させているのですが、
まれにリダイレクト先でセッションの値が取得できないことがあり困っております。
また、困ったことにローカル環境では発生しなく、本番環境のみで発生します。
ブラウザはIE、Chrome、その他でも関係なく起こるのですが、発生条件はわかりません。
これ以外に提示する情報が思いつかないのですが、疑ってみるポイント等ご教授いただけると幸いです。
該当のソースコード
ざっくりですが以下のような内容になります。
php
1public function store(Request $request) 2 { 3 $input = $request->input(); 4 $request->session()->put('input', $request->input()); 5 6 // ここで$request->session()->exists('input')を確認しましたが、ありました。 7 8 Item::create([ 9 'user_id' => Auth::id(), 10 'item_type' => config('ITEM_TYPE'), 11 'result' => $input['result'], 12 ]); 13 14 // DBにも値は格納されています。 15 16 return redirect()->route('item.result'); 17 } 18 19 public function result(Request $request) 20 { 21 // ここで$input['result']が空になることがあります。 22 return view('result') 23 ->with([ 24 'user' => Auth::user(), 25 'input' => $request->session()->get('input'), 26 ]); 27 }
php
1//SESSION_DRIVER=file 2'driver' => env('SESSION_DRIVER', 'file'), 3//SESSION_LIFETIME=120 4'lifetime' => env('SESSION_LIFETIME', 120),
js
1<template> 2 <div> 3 //... 4 <input name="result" :value="itemType"> 5 // ... 6 <input type="submit" value="finish"> 7 </div> 8</template> 9 10<script> 11export default { 12 props: { items: Array }, 13 data: function() { 14 return { 15 // ... 16 itemType: 0 17 // ... 18 }; 19 }, 20 methods: { 21 set: function() { 22 //itemsに値をいれる 23 }, 24 } 25} 26</script>
試したこと
リダイレクト前にDBにも値を保存しているのですが、DBには問題なく書き込まれています。
リダイレクト前にセッションに保存できているかログを仕込んで確認してみましたが、セッションには問題なく保存できているようでした。
(追記)
キャッシュに変更しても読み込まれないことがありました。
補足情報(FW/ツールのバージョンなど)
Laravel 5.7
Vue.js 2.5
Ubuntu
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。