Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从php生成的数组中提取数据并将其传递给javascript细枝_Javascript_Json_Controller_Twig - Fatal编程技术网

从php生成的数组中提取数据并将其传递给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

我试图在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])
} 
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}},}为我提供了“”。。。