javascript - 干净地将大型 JSON 数组从 Laravel 传递到 Javascript

标签 javascript php arrays json laravel

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

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

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

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

最佳答案

您有两个选择。

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

在你的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 方法是一个全局函数,在您的 View 中可用。它将采用命名路由 api.myData 并为其生成 URL。

另一个选项如您所描述的,将数组传递到您的 View 。

关于javascript - 干净地将大型 JSON 数组从 Laravel 传递到 Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24601133/

相关文章:

javascript - 如何使用 Ruby 和 JavaScript 计算多语言文本中的单词数

php - php 中一个函数是否可以返回 2 个或多个不同数据类型的值?

javascript - 为什么我不能在空数组上调用 Array.prototype.map?

javascript - 使用ajax将数据发布到当前php页面

php - 获取 Slim Post 请求值

java - 返回未排序列表中第 n 个最高值的索引

c - `strcpy` 越界到 C 中的字符串数组

javascript - 如何在jQuery中使用javascript调用方法?

javascript - 如何从 javascript 获取所有 php 数组索引?

javascript - AngularJS 表单问题