Flask 变量出现在 HTML 但没有 JavaScript

Flask variable showing up in HTML but not JavaScript

在我的 init.py 文件中,我将匹配的纬度和经度数字配对成一个元组,并将它们推送到名为“latsLngs”的列表中。我正在将此信息传递到我的 Jinja 模板,并希望在 HTML 文档中包含的 JS 中显示成对的纬度和经度。

这是我试图完成此操作的 Jinja 模板代码:

<div id='map'></div>
    {% for coor in latsLngs%}
        <h1>{{coor}}</h1>
    {% endfor %}
    <script>
        {% for coor in latsLngs%}
            console.log({{coor}})
        {% endfor %}
        mapboxgl.accessToken = 'pk.eyJ1IjoiYXphcmlhZGVkbW9uIiwiYSI6ImNrMmxmdjgwZjA2b3kzcHQ1dWh5Znc1NDcifQ.2VHaTw15QaiOknOoW8aP4A';
        var map = new mapboxgl.Map({
          container: 'map',
          style: 'mapbox://styles/mapbox/light-v10',
          center: [-96, 37.8],
          zoom: 3
        });

然而,在 JS 代码中,只有纬度显示。从上面的代码可以看出,我在 HTML 中写了相同的代码,这对出现了。这是我正在谈论的照片:

显然 JS 出现在控制台中,HTML 出现在网页上。出现此问题的原因可能是什么?

您的代码正在创建 console.log() 如下所示的语句:

console.log((33.whatever, -111.whatever));

双括号意味着inner括号被解释为参数表达式的一部分(console.log()的参数),因此逗号是逗号运算符.在这样的表达式中唯一重要的值是最后一个。

您可以尝试将 python 代码更改为

console.log{{coor}}

因为您的值已经包含括号。如果您的坐标对看起来像数组或其他东西,可能会更好。