从 php 中创建的数组中提取数据并将其传递给 javascript twig
Pulling data from an array made in php and passing it to javascript twig
我正在尝试在我的 php 控制器中生成一个数组,以将数据传递到 .twig 文件中的 javascript。
我能够访问 .twig 中 for 循环中的所有值,但是当试图获取 javascript 中的值时,我只能使用以下方法获取整个数组:
var markers = {{ products|json_encode|raw }};
这会产生:
var markers = [{"id":"1","name":"x","location":"San Diego"},{"id":"2","name":"y","location":"LA"}];
当尝试在 javascript 中使用 for 循环访问特定值时:
for (i = 0; i < markers.length; i++)
{
alert(markers[i][0])
}
使用 console.log / alert 如果我循环遍历标记 [i],我会得到标记 [i][0] 和 [对象对象] 的 [undefined]。长度正确。
这是我使用 .twig 的第一个项目,所以我不知道我是否遗漏了一些非常明显的东西,因为我似乎找不到我的问题。
如有任何帮助,我们将不胜感激!
您的问题似乎出在 javascript for 循环中。
看这里:
var markers = [{"id":"1","name":"x","location":"San Diego"},{"id":"2","name":"y","location":"LA"}];
数组中的 None 个对象有一个名为 0
的 属性。您只有名为 id
、name
和 location
.
的属性
将循环更改为:
for (i = 0; i < markers.length; i++)
{
alert(markers[i]['name'])
}
您应该会看到它显示了每个对象的值 name
属性.
我正在尝试在我的 php 控制器中生成一个数组,以将数据传递到 .twig 文件中的 javascript。
我能够访问 .twig 中 for 循环中的所有值,但是当试图获取 javascript 中的值时,我只能使用以下方法获取整个数组:
var markers = {{ products|json_encode|raw }};
这会产生:
var markers = [{"id":"1","name":"x","location":"San Diego"},{"id":"2","name":"y","location":"LA"}];
当尝试在 javascript 中使用 for 循环访问特定值时:
for (i = 0; i < markers.length; i++)
{
alert(markers[i][0])
}
使用 console.log / alert 如果我循环遍历标记 [i],我会得到标记 [i][0] 和 [对象对象] 的 [undefined]。长度正确。
这是我使用 .twig 的第一个项目,所以我不知道我是否遗漏了一些非常明显的东西,因为我似乎找不到我的问题。
如有任何帮助,我们将不胜感激!
您的问题似乎出在 javascript for 循环中。
看这里:
var markers = [{"id":"1","name":"x","location":"San Diego"},{"id":"2","name":"y","location":"LA"}];
数组中的 None 个对象有一个名为 0
的 属性。您只有名为 id
、name
和 location
.
将循环更改为:
for (i = 0; i < markers.length; i++)
{
alert(markers[i]['name'])
}
您应该会看到它显示了每个对象的值 name
属性.