从php生成的数组中提取数据并将其传递给javascript细枝
我试图在php控制器中生成一个数组,将数据传递给.twig文件中的javascript 我可以访问.twig中for循环中的所有值,但在尝试获取javascript中的值时,我只能使用以下方法获取整个数组:从php生成的数组中提取数据并将其传递给javascript细枝,javascript,json,controller,twig,Javascript,Json,Controller,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":"L
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])
}
for(i=0;i
使用console.log/alert,如果循环遍历标记[I],我会得到[I][0]和[object object]的[undefined]。长度是正确的
这是我第一个使用.twig的项目,所以我不知道我是否错过了一些非常明显的东西,因为我似乎找不到我的问题
任何帮助都将不胜感激 您的问题似乎在于javascript for循环
看这里:
var markers = [{"id":"1","name":"x","location":"San Diego"},{"id":"2","name":"y","location":"LA"}];
数组中没有一个对象具有名为0
的属性。您只有名为id
、name
和location
的属性
将循环更改为类似以下内容:
for (i = 0; i < markers.length; i++)
{
alert(markers[i]['name'])
}
for(i=0;i
您应该会看到它向您显示每个对象的值name
属性。在twig中,在元素上使用数据属性,使用过滤器转义任何单引号,然后在Javascript中使用JSON.parse来获取数据。这里有一篇很好的教程帖子:似乎仍然无法从数组中提取任何数据,只能获取“”,无法从var markers={{{products | json_encode | raw}获取值代码>?。从给出的示例console.log($EntryInfo对象)代码>显示控制台0中的数组:{location:“SD”,name:“x”}1:{location:“LA”,name:“y”},但给出的示例是var entryInfo={location:{{product.location}},}用于提取特定数据的代码>为我提供了“”。。。