从 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 的 属性。您只有名为 idnamelocation.

的属性

将循环更改为:

for (i = 0; i < markers.length; i++) 
{ 
  alert(markers[i]['name'])
} 

您应该会看到它显示了每个对象的值 name 属性.