Uncaught SyntaxError:与烧瓶一起使用传单时出现意外令牌

时间:2019-06-05 05:36:01

标签: javascript html css

我添加了所有必需的脚本config.js,其中包含我的API_KEY,但是它一直告诉我“ Uncaught SyntaxError:Unexpected token”。我已经多次检查了我的api密钥,这似乎是正确的。

这是我的python文件

app.route("/")
def index():
    """Return the homepage."""
    return render_template("index.html", cities=cities, aqi=aqi, CO=CO, NO2=NO2, SO2=SO2, PM25=pm25)


if __name__ == "__main__":
    app.run()

城市,aqi等...是我要发送到index.html的列表

index.html:

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Air-Quality</title>
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css">
    <link rel="stylesheet" href="../static/css/style.css">

    <script src="https://cdnjs.cloudflare.com/ajax/libs/d3/5.9.2/d3.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.5.1/leaflet.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.5.1/leaflet.css"></script>

    <!-- My on scrape for lists -->

    <!-- Sending lists to JS from python -->
    <script>
        var cities = {{cities|tojson}};
        var aqi = {{aqi|tojson}};
        var CO = {{CO|tojson}};
        var NO2 = {{NO2|tojson}};
        var SO2 = {{SO2|tojson}};
        var PM25 = {{PM25|tojson}};
    </script>
</head>

<body>
    <div class="text-center main globe">
    </div>

和正在调用传单的javascript代码

var myMap = L.map('globe', {
    center:[45.5017, -73.5673],
    zoom:1
});

L.tileLayer("https://api.tiles.mapbox.com/v4/{id}/{z}/{x}/{y}.png?access_token={accessToken}", {
  maxZoom: 18,
  id: "mapbox.streets-basic",
  accessToken: API_KEY
}).addTo(myMap);

文件路径都是正确的。我对自己做错了很好奇。预先感谢。

完全错误:

leaflet.css:3 Uncaught SyntaxError: Unexpected token .
leaflet.js:5 Uncaught Error: Map container not found.
    at i._initContainer (leaflet.js:5)
    at initialize (leaflet.js:5)
    at new i (leaflet.js:5)
    at Object.t.map (leaflet.js:5)
    at draw_globe.js:3

1 个答案:

答案 0 :(得分:2)

请注意错误。它说意外令牌出现在第3行的leaflet.css中。这里的问题是,您试图将CSS文件加载为javascript。那是行不通的。您需要使用<link>标签来指示样式表。所以代替:

<script src="https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.5.1/leaflet.css"></script>

您应该这样做:

<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.5.1/leaflet.css">

请注意,URL以.css而不是.js结尾(这就是为什么需要以这种方式包含它的原因)。以.js结尾的内容应该像使用{p1>}一样使用

<script>