Laravel JavaScript 将数组从后端传递到 JavaScript 中的数组

Posted

技术标签:

【中文标题】Laravel JavaScript 将数组从后端传递到 JavaScript 中的数组【英文标题】:Laravel JavaScript passing an array from backend to a array in JavaScript 【发布时间】:2016-04-08 07:39:42 【问题描述】:

我有一个控制器,它将一个数组传递给刀片文件,称之为 $data 从那里我通过刀片将数据回显到页面,例如 $data[0]['名称]

问题是我还希望数据在 javascript 的数组中。

如何做到这一点? 最好只是通过 AJAX 再次请求数据,还是有办法将数据从刀片中取出并放入 javascript。或者可以通过 Blade 将其渲染为 JSON 中的 html,然后从 JavaScript 中的 html 中提取 JSON

【问题讨论】:

【参考方案1】:

因此,在执行此操作时,您只需像使用 php 一样将数据传递给 javascript: <script> var a = ['$data[0]['name] ','$data[0]['name] '];</script>

或者,如果您不想逐个检查并手动添加它们,请使用 foreach 循环中内置的 laravel:

var a = [@foreach($data as $k => $info)
   ' $info ',
@endforeach ]

这完全取决于您打算如何进行此操作

【讨论】:

感谢您的回复,blade 没有回显变量,我最终通过客户端 var availableTags = [@foreach($data as $k => $info) " $info['name'] ", @endforeach ]; 你用的是什么版本的 laravel?请记住,即使这是一个 laravel 刀片文件,您仍然可以使用本机 PHP - 所以尝试这样做:<pre><?php print_r($data); ?></pre> 并确保您获得传递的数据。 5.1,但不确定如何检查。我知道数据正在传递,因为它也回显到了 html,我正在尝试将它与已经呈现的内容一起添加到 javascript 中 是的,它现在可以工作了,我必须将变量放在 index.blade.php 页面上,并将其放在 index.blade.php 中包含的 main.js 文件中。谢谢你的帮助 !! :)

以上是关于Laravel JavaScript 将数组从后端传递到 JavaScript 中的数组的主要内容,如果未能解决你的问题,请参考以下文章

javascript NodeJS从后端渲染页面

Javascript根据id获取数组对象

在 JavaScript 中将数组转换为对象

使后端验证与前端验证保持同步

在Javascript / React中将对象转换为数组

序列化表单验证 Laravel 8