[PHP][Laravel] リダイレクトでbladeのjsに配列を渡す
バージョン
Laravel 5.7
概要
バリデーションエラーなどでリダイレクトで元の画面に戻した際に 入力データ以外にPHP側で用意した配列情報をbladeのJavascriptに渡す。
コード
■TestController.php
// バリデータ if ($validator->fails()) { // 渡すデータ配列 $testdata[0]['id'] = 10; $testdata[0]['name'] = 'taro'; $testdata[1]['id'] = 20; $testdata[1]['name'] = 'hanako'; // 元のページにリダイレクト return redirect()->back()->withErrors($validator)->withInput()->with('testdata', $testdata); }
withでセッションに配列情報をセット。
■Test.blade.php
<script> @if (Session::has('testdata')) var data = @json(Session::get('testdata')); Object.keys(data).forEach(function (key) { console.log(data[key].id + ":" + data[key].name); }); @endif </script>
セッションから取得した配列情報を@jsonで受け取る。
- 作者: 掌田津耶乃
- 出版社/メーカー: 秀和システム
- 発売日: 2017/09/16
- メディア: 単行本
- この商品を含むブログを見る