GDownloadUrl在Chrome上不能正常工作
问题描述:
这是在Drupal网站的内部。我使用以下代码使用GDownloadUrl
发送了一个Ajax请求。我从谷歌地图的JavaScript API版本2此GDownloadurl
方法:GDownloadUrl在Chrome上不能正常工作
GDownloadUrl(down_load_url, function(data) {
var xml = GXml.parse(data);
});
这down_load_url
具有请求和数据变量将得到的回应为XML。
但是,在Chrome中,此数据变量不包含任何内容。在其他浏览器中,该功能可以正确地获取请求的数据。 Chrome有什么问题?
答
这位先生使用的GDownloadUrl在一个例子:http://googlemapsapi.blogspot.com/2007/02/gdownloadurl-update-better-error.html
你可以尝试添加responseCode参数到您的回调函数,看看Chrome是否示数是出于某种原因。此示例适用于我的Chrome版本,因此请确保您正在运行最新版本。
这里是他的代码示例:
function load() {
if (GBrowserIsCompatible()) {
var map = new GMap2(document.getElementById("map"));
map.addControl(new GSmallMapControl());
map.addControl(new GMapTypeControl());
map.setCenter(new GLatLng(37.4419, -122.1419), 13);
// Download the data in data.xml and load it on the map. The format we
// expect is:
// <markers>
// <marker lat="37.441" lng="-122.141"/>
// <marker lat="37.322" lng="-121.213"/>
// </markers>
GDownloadUrl("data.xml", function(data, responseCode) {
// To ensure against HTTP errors that result in null or bad data,
// always check status code is equal to 200 before processing the data
if(responseCode == 200) {
var xml = GXml.parse(data);
var markers = xml.documentElement.getElementsByTagName("marker");
for (var i = 0; i < markers.length; i++) {
var point = new GLatLng(parseFloat(markers[i].getAttribute("lat")),
parseFloat(markers[i].getAttribute("lng")));
map.addOverlay(new GMarker(point));
}
} else if(responseCode == -1) {
alert("Data request timed out. Please try later.");
} else {
alert("Request resulted in error. Check XML file is retrievable.");
}
});
}
}
:感谢reply.using你的代码我陷入别人condition.that是我得到一个警告,告诉“请求导致错误检查XML文件检索” .still我没有得到什么错误发生在here.please你能帮我吗。谢谢 – lakshman
嘿再次感谢。问题是sloved.using你的代码我检测到响应code.it是0.响应为零的原因之一代码是“在防火墙上”。关闭我的Windows和卡巴斯基防火墙后,我得到了所需的结果。谢谢 – lakshman