Javascript Error: SyntaxError: missing ; before statement
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;
评论者是对的,但看看过去的台词,这可能不是您唯一的问题。除非这是一些非常强大的 Java 脚本库,我不知道它以某种方式包含在 Google 的地图脚本中,否则我不认为 JDBC 你的东西试图做到真实存在。
Java脚本完全在用户的浏览器上运行;所以即使 JS 有一个内置的数据库查询库,数据库也有可能拒绝直接连接。您可能需要在服务器上创建该数据库查询作为 AJAX 端点,将其数据转换为文本格式,如 JSON,并让 Java 脚本请求使用 AJAX.
我无法在一个单一的 post 中完成所有这些,但是您有大量的阅读工作要做。我将从 AJAX 的基本教程开始,或者 JavaScript 和 Java 之间的区别(这不仅仅是白天和黑夜;它是黑夜和桌上网球)。
我有以下代码片段。我已经尝试了 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;
评论者是对的,但看看过去的台词,这可能不是您唯一的问题。除非这是一些非常强大的 Java 脚本库,我不知道它以某种方式包含在 Google 的地图脚本中,否则我不认为 JDBC 你的东西试图做到真实存在。
Java脚本完全在用户的浏览器上运行;所以即使 JS 有一个内置的数据库查询库,数据库也有可能拒绝直接连接。您可能需要在服务器上创建该数据库查询作为 AJAX 端点,将其数据转换为文本格式,如 JSON,并让 Java 脚本请求使用 AJAX.
我无法在一个单一的 post 中完成所有这些,但是您有大量的阅读工作要做。我将从 AJAX 的基本教程开始,或者 JavaScript 和 Java 之间的区别(这不仅仅是白天和黑夜;它是黑夜和桌上网球)。