簡體   English   中英

Javascript錯誤:SyntaxError:缺少; 聲明前

[英]Javascript Error: SyntaxError: missing ; before statement

我有以下代碼片段。 我已經嘗試了StackExchange上提到的所有可能的方法,但是無法在我的代碼中發現錯誤。

<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<%@ page import="java.sql.*" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta charset="utf-8" />
<title>Twitter Mapper</title>
<link rel="stylesheet" href="styles/styles.css">

<script type="text/javascript"
    src="https://maps.googleapis.com/maps/api/js?sensor=false"></script>
</head>
<body>

    <br />
    <br />
    <div id="map-canvas" align="center"></div>

    <script src="scripts/heatmap.js"></script>
    <script src="scripts/gmaps-heatmap.js"></script>
    <script>
    window.onload = (function() {

        alert("hi");
        // map center
        var myLatlng = new google.maps.LatLng(25.6586, -80.3568);
        // map options,
        var myOptions = {
            zoom : 3,
            center : myLatlng
        };
        // standard map
        map = new google.maps.Map(document.getElementById("map-canvas"), myOptions);
        // heatmap layer
        heatmap = new HeatmapOverlay(map, {
            // radius should be small ONLY if scaleRadius is true (or small radius is intended)
            "radius" : 2,
            "maxOpacity" : 1,
            // scales the radius based on map zoom
            "scaleRadius" : true,
            // if set to false the heatmap uses the global maximum for colorization
            // if activated: uses the data maximum within the current map boundaries 
            //   (there will always be a red spot with useLocalExtremas true)
            "useLocalExtrema" : true,
            // which field name in your data represents the latitude - default "lat"
            latField : 'lat',
            // which field name in your data represents the longitude - default "lng"
            lngField : 'lng',
            // which field name in your data represents the data value - default "value"
            valueField : 'count'
        });
    });

        function populateMap() {

            Connection conn = null; 
             Statement stmt = null; 
             ResultSet rset = null; 
             try {
                Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
                conn = DriverManager.getConnection("jdbc:mysql://localhost:8889/mysql", 
                                                   "", "");
                stmt = conn.createStatement();
                // dynamic query
                rset = stmt.executeQuery ("SELECT * FROM tweets");
               //return (formatResult(rset));
             } finally {
                 if (rset!= null) rset.close(); 
                 if (stmt!= null) stmt.close();
                 if (conn!= null) conn.close();
             }

        };


    </script>
</body>
</html>

錯誤行顯示為函數populateMap()中的第一行。 請幫忙。

在Javascript中,您不使用類型聲明變量,而是使用var:

var conn = null, stmt = null, rset = null; 

評論者是正確的,但從那以后看,這可能不是您唯一的問題。 除非這是一個真正強大的JavaScript庫,否則我不知道該庫是否以某種方式包含在Google的地圖腳本中,否則我不認為您嘗試做的JDBC事情實際上是存在的。

JavaScript完全在用戶的瀏覽器上運行; 因此,即使JS具有內置的數據庫查詢庫,數據庫也有可能拒絕直接連接。 您可能需要在服務器上作為AJAX端點創建該數據庫查詢,該數據庫查詢將其數據轉換為JSON之類的文本格式,並讓JavaScript使用AJAX進行請求。

我無法在一個帖子中討論所有這些內容,但是您需要做很多閱讀工作。 我將從有關AJAX的基本教程開始,或者從JavaScript和Java之間的區別開始(不只是白天和黑夜;還有晚上和乒乓球網球)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM