GDownloadUrl无法在Chrome上使用 [英] GDownloadUrl is not working on Chrome

查看:87
本文介绍了GDownloadUrl无法在Chrome上使用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这是一个 Drupal 网站。我使用以下代码使用 GDownloadUrl 发送了一个Ajax请求。我从Google Maps JavaScript API版本2中获得了 GDownloadurl 方法:

  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(新的GSmallMapControl());
map.addControl(new GMapTypeControl());
map.setCenter(new GLatLng(37.4419,-122.1419),13);

//下载data.xml中的数据并将其加载到地图上。格式we
//期望的是:
//< markers>
//< marker lat =37.441lng = - 122.141/>
//< marker lat =37.322lng = - 121.213/>
//< / markers>
GDownloadUrl(data.xml,function(data,responseCode){
//为了防止导致数据为空或不良的HTTP错误,
//总是检查状态码是否相等到200之前处理数据
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(请求导致错误,检查XML文件是可检索的。);
}
});
}
}


This is inside a Drupal site. I sent an Ajax request using GDownloadUrl using the following code. I got this GDownloadurl method from the Google Maps JavaScript API version 2:

GDownloadUrl(down_load_url, function(data) {
    var xml = GXml.parse(data);
});

This down_load_url has the request and the data variable will get the response as an XML.

However, in Chrome this data variable contains nothing. In other browsers this function gets the requested data correctly. What is the wrong with Chrome?

解决方案

This gentleman has an example of using GDownloadUrl at: http://googlemapsapi.blogspot.com/2007/02/gdownloadurl-update-better-error.html

You might try adding the responseCode parameter to your callback function to see if Chrome is erroring for some reason. This example works in my version of Chrome, so make sure you are running the latest version.

Here is his code example:

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.");
      }
    });
  }
}

这篇关于GDownloadUrl无法在Chrome上使用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆