干净地将大型JSON数组从Laravel传递给Javascript

时间:2014-07-06 23:03:27

标签: javascript php arrays json laravel

所以在我的控制器逻辑中,我构建了一大堆数据,我将json_encode放入一个传递给我视图的变量中。但是,我希望这些数据可以在客户端使用JavaScipt进行排序 - 我不认为排序如何完成的细节是相关的,但我很好奇最好的方法是获取我的数组从PHP到Javascript。目前,我正在考虑在我的html中添加标签,如

<script type="text/javascript">var jsonData = <?php echo $myData ?>; </script>

其中myData是我用PHP编写的编码数组,然后jsonData可供我在其他任何地方使用。

但是,这意味着整个丑陋的数组会显示在我的页面的源代码中。这不是一个安全问题或任何事情,但我觉得必须有一个更好的方法来做到这一点并不像'丑陋&#34;。 任何建议表示赞赏。

1 个答案:

答案 0 :(得分:1)

您有两种选择。

如果您不想要“丑陋”的HTML源代码,可以使用ajax查询应用程序并将json数组存储在变量中。这可以通过简单的路径和控制器方法来完成。

在你的routes.php中

Route::get('api/myData',array('as'=>'api.myData','uses'=>'MyController@getMyData'));

MyController.php

public function getMyData() {
    return whateverYouWant();
}

然后,您可以向route('api.myData')

执行ajax请求

route方法是一个全局函数,可在您的视图中使用。它将采用命名路由api.myData并为其生成URL。

另一个选项如您所述,将数组传递给您的视图。