Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/416.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
Javascript 同一语句在for循环中给出了一个错误_Javascript_Python_Google Maps_Flask_Jinja2 - Fatal编程技术网

Javascript 同一语句在for循环中给出了一个错误

Javascript 同一语句在for循环中给出了一个错误,javascript,python,google-maps,flask,jinja2,Javascript,Python,Google Maps,Flask,Jinja2,服务器端使用python和flask,html模板是jinja2。我正在尝试用谷歌api做一个标记。纬度和经度信息存储在从python传递的存储区[][]中。这段代码位于我的html文件中的标记之间,它工作正常 var marker = new google.maps.Marker({position: {lat: {{stores[0][5]}}, lng: {{stores[0][6]}}}, map: map}); var marker = new google.maps.Marker({

服务器端使用python和flask,html模板是jinja2。我正在尝试用谷歌api做一个标记。纬度和经度信息存储在从python传递的存储区[][]中。这段代码位于我的html文件中的标记之间,它工作正常

var marker = new google.maps.Marker({position: {lat: {{stores[0][5]}}, lng: {{stores[0][6]}}}, map: map});
var marker = new google.maps.Marker({position: {lat: {{stores[4][5]}}, lng: {{stores[4][6]}}}, map: map});
我有多个lat,lng,我想从中制作标记,所以我把它放在for循环中


我仔细检查了stores[]]是否有5个以上的元素。这非常令人困惑。

你不能这样做。Jinja完全在服务器上进行评估,远远早于JS在客户端上运行。Jinja无法访问JS代码中的变量

您应该将循环移动到Jinja本身

{% for store in stores %}
   var marker = new google.maps.Marker({position: {lat: {{ store[5] }}, lng: {{ store[6] }}}, map: map});
{% endfor %}

最好的猜测是存储是通过异步操作填充的,并且在填充之前您正在运行循环。显示商店的来源。请看,我会在for循环中尝试console.tablestores[I]
jinja2.exceptions.UndefinedError: list object has no element Undefined
{% for store in stores %}
   var marker = new google.maps.Marker({position: {lat: {{ store[5] }}, lng: {{ store[6] }}}, map: map});
{% endfor %}