Javascript 同一语句在for循环中给出了一个错误
服务器端使用python和flask,html模板是jinja2。我正在尝试用谷歌api做一个标记。纬度和经度信息存储在从python传递的存储区[][]中。这段代码位于我的html文件中的标记之间,它工作正常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({
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 %}