【问题标题】:Cleanly passing large JSON array from Laravel to Javascript将大型 JSON 数组从 Laravel 干净地传递到 Javascript
【发布时间】:2014-08-27 09:03:06
【问题描述】:

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

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

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

但是,这意味着整个丑陋的数组将显示在我页面的源代码中。这不是安全问题或任何东西,但我觉得必须有更好的方法来做到这一点,而不是“丑陋”。 任何建议表示赞赏。

【问题讨论】:

    标签: javascript php arrays json laravel


    【解决方案1】:

    你有两个选择。

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

    在你的 routes.php 中

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

    在你的MyController.php

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

    然后您可以向route('api.myData') 发出ajax 请求

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

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

    【讨论】:

    • 啊,我怀疑 ajax 是答案。谢谢!
    • 我用一个小例子扩展了我的答案。
    猜你喜欢
    • 2012-08-18
    • 2017-04-05
    • 2021-12-31
    • 1970-01-01
    • 2021-10-23
    • 2015-03-15
    • 1970-01-01
    • 2016-04-08
    • 1970-01-01
    相关资源
    最近更新 更多