2011-08-22 130 views
-1

这是在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有什么问题?

回答

2

这位先生使用的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."); 
     } 
    }); 
    } 
} 
+0

:感谢reply.using你的代码我陷入别人condition.that是我得到一个警告,告诉“请求导致错误检查XML文件检索” .still我没有得到什么错误发生在here.please你能帮我吗。谢谢 – lakshman

+0

嘿再次感谢。问题是sloved.using你的代码我检测到响应code.it是0.响应为零的原因之一代码是“在防火墙上”。关闭我的Windows和卡巴斯基防火墙后,我得到了所需的结果。谢谢 – lakshman