【发布时间】:2014-04-20 00:27:23
【问题描述】:
我正在编写一个 java web 应用程序,其中我在 jsp 文件中有以下 head 标签。
<head>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<meta charset="utf-8">
<title>EECE 417 Exercise 3</title>
<link type="text/css" rel="stylesheet" href="/stylesheets/main.css" />
<script type="text/javascript" src="/javascripts/main.js"></script>
<script type="text/javascript"
src="https://maps.googleapis.com/maps/api/js?key=AIzaSyAxfoydM9lSVCJi-vhMZJ_Q3eawPjIsuLw&sensor=true">
</script>
<script type="text/javascript">
function initialize() {
var myLatlng = new google.maps.LatLng(37.33152141760375,-122.04732071026367);
var mapOptions = {
center: myLatlng,
zoom: 12
};
map = new google.maps.Map(document.getElementById("map-canvas"),
mapOptions);
var mrkID = "0";
var gstBkNm = "Guestbook_" + mrkID; //guestbookNameString; //"default";
var msgbox = "msgbox_" + mrkID;
var msglist = "msglist_" + mrkID;
var contentString = '#' + mrkID + '<div id="content">' +
'<div class="msglist" id="'+ msglist +'"></div>' + '</div>' +
'<textarea id="'+ msgbox +'" rows="2" cols="20"></textarea>' +
'<input type="button" value="Post" onclick="postAjaxRequest('+
"'" + msgbox + "', '" + mrkID + "', '" + gstBkNm + "', '" + msglist + "'" +')"/>';
var infowindow = new google.maps.InfoWindow({
content: contentString
});
var iconBase = 'https://maps.google.com/mapfiles/kml/shapes/';
var icons = {
parking: {
icon: iconBase + 'parking_lot_maps.png'
},
library: {
icon: iconBase + 'library_maps.png'
},
info: {
icon: iconBase + 'info-i_maps.png'
}
};
var marker = new google.maps.Marker({
position: myLatlng,
map: map,
icon: icons['parking'].icon,
animation: google.maps.Animation.DROP,
title: 'Custom Marker!'
});
google.maps.event.addListener(marker, 'click', function() {
map.setZoom(13);
guestbookNameString = gstBkNm;
selectedMarkerID = mrkID;
infowindow.open(map, marker);
getAjaxRequest();
});
// Load the selected markers
alert("initialize");
loadMarkers();
alert("initialize1");
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
我在脚本中调用 loadMarkers() 函数的代码中有两个警报。此 loadMarkers() 存在于包含的 src 文件中(在 main.js 中的 jsp 头标记中。
由于某种原因,它无法执行 loadMarkers() 中的代码。我在 main.js 中有 loadmarkers() 如下:
function loadMarkers() {
alert("loadMarkers");
try {
xmlHttpReq = new XMLHttpRequest();
xmlHttpReq.onreadystatechange = httpCallBackFunction_loadMarkers;
var url = "/resources/markers.xml";
xmlHttpReq.open('GET', url, true);
xmlHttpReq.send(null);
} catch (e) {
alert("Error: " + e);
}
}
应用程序似乎运行良好,我之前没有遇到过这个问题。还值得注意的是 getAjaxRequest() 也在 main.js 文件中,并且似乎不起作用,因为我在该函数的开头设置了一个警报,但它没有显示在我的浏览器中。如果我能对如何解决这个问题有所了解,那将是非常有益的。谢谢。
【问题讨论】:
-
控制台没有js报错吗?
-
@roshiro 不,据我所知,javascript 中没有错误。我还应该在浏览器中看到警报(“loadMarkers”),但在我运行应用程序时它不会显示。
标签: java javascript jsp