Laravel 5:在视图模板中获取所有传递的数据

时间:2015-04-17 12:08:07

标签: php view laravel-5 blade

目标是我想将所有传递的数据从控制器传递到一个全局JavaScript变量中的视图,这是一个例子:

在控制器中

index(){
 return veiw('path.to.view', ['data1' => $data1, 'data2' => $data2]);
}

在视图中

<script>
   var _backendData = {!! $allData !!}
   //$allData should contain ALL the passed data from the controller
</script>

我将来自控制器的所有收到的数据存储在$ allData

3 个答案:

答案 0 :(得分:2)

要访问所有数据,请将其作为根数组的一项传递。因为这些键成为视图变量。

return view('path.to.view', [
   'allData' => ['data1' => $data1, 'data2' => $data2]
]);

查看:

<script>
    var _backendData = {!! $allData !!}
</script>

但是这不能正常工作。您应该使用JSON将数据传递给JavaScript:

var _backendData = JSON.parse("{!! json_encode($allData) !!}");

答案 1 :(得分:0)

将其设置在控制器上 -

return veiw('path.to.view', ['allData' => ['data1' => $data1, 'data2' => $data2]]);

答案 2 :(得分:0)

当您返回数据数组时,您可以逐个访问元素,如下所示。你不能只将PHP数组分配为JavaScript数组。

return view('path.to.view', [
   'allData' => ['data1' => $data1, 'data2' => $data2]
]);

查看:

<script>
    var _backendData = {!! $allData['data1'] !!}
</script>