【发布时间】:2014-01-05 16:47:38
【问题描述】:
我认为这只是我缺乏编写脚本的经验。
我正在尝试使用 AJAX 和 Google 地图标记 从标记中获取 lat 和 long 以向数据库,以便我可以在地图下方填充表格。
我似乎能够获取lat 和long,但我似乎无法将其传递给发出新请求的页面。我已经测试以确保我收到带有警报的lat/long,并且我收到了。
但我似乎找不到将其传递给请求的正确语法。
我也在用 Classic ASP 写作。我会很感激能用这种语言帮助我的回复,而不是我转向 ASP.NET 的建议。我正朝着这个方向前进,但现在我就是这样做的。
<script type="text/javascript">
var j =0;
var sites = <%=overallpass%>;
function setMarkers(map, markers) {
for (var i = 0; i < markers.length; i++) {
var sites = markers[i];
var siteLatLng = new google.maps.LatLng(sites[1], sites[2]);
var theicon = sites[5];
var marker = new google.maps.Marker({
position: siteLatLng,
map: map,
title: sites[0],
zIndex: sites[3],
html: sites[4],
icon: sites[5]
});
var contentString = "Some content";
var infowindow = new google.maps.InfoWindow({
content: contentString
});
google.maps.event.addListener(marker, "click", function(event) {
loadXMLDoc(event.latLng)
});
}
}
</script>
<script>
function loadXMLDoc(location)
{
var xmlhttp;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","demo_get2.asp?fname=Henry&lname=location.lat()",true);
xmlhttp.send();
}
</script>
xmlhtpp.open 语句是我试图将lat/long 传递给demo_get2.asp 文件的地方。在此示例中,我有一段文本正确传递给fname。但我正在尝试将lat 传递给lname。
我也尝试过类似的方法
"demo_get2.asp?fname=Henry&lname=" + location.lat()
但这也不起作用。
作为一个附带问题。我一直在使用 W3schools 作为一些代码示例的来源。 (因此这里的变量名选择不佳。我会清理它)但在他们的一些示例中,列出了诸如demo_get2.asp 之类的文件。我无法找到这些文件所在的位置以查看代码的确切位置。在上面的例子中,我创建了自己的文件,它只是读取两个值并将它们显示在页面上。有用。但是对于其他示例,我有兴趣查看他们在示例中的实际代码。我似乎找不到他们在哪里分享这些。在 TryIt 示例中,我也没有找到它。
【问题讨论】:
标签: javascript ajax google-maps asp-classic