2011-08-22 7 views
-1

Ceci est à l'intérieur d'un site Drupal. J'ai envoyé une requête Ajax en utilisant GDownloadUrl en utilisant le code suivant. Je suis arrivé cette méthode GDownloadurl à partir de la version de l'API Google Maps JavaScript 2:GDownloadUrl ne fonctionne pas sur Chrome

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

Ce down_load_url a la demande et la variable de données va obtenir la réponse en tant que XML.

Cependant, dans Chrome cette variable de données ne contient rien. Dans d'autres navigateurs, cette fonction obtient les données demandées correctement. Quel est le problème avec Chrome?

Répondre

2

Ce monsieur a un exemple d'utilisation GDownloadUrl à: http://googlemapsapi.blogspot.com/2007/02/gdownloadurl-update-better-error.html

Vous pouvez essayer d'ajouter le paramètre responseCode à votre fonction de rappel pour voir si Chrome est erroring pour une raison quelconque. Cet exemple fonctionne dans ma version de Chrome, alors assurez-vous que vous utilisez la dernière version.

Voici son exemple de code:

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

: merci pour le reply.using votre code je tombe dans le reste condition.that est que je suis une alerte indiquant «Demande a entraîné une erreur Vérifiez le fichier XML est récupérable » Je n'ai pas obtenu ce que l'erreur se produit ici.please pouvez-vous m'aider.thanks – lakshman

+0

hey merci encore.problème a été abouti.en utilisant votre code j'ai détecté la réponse code.it était 0.une des raisons pour obtenir zéro pour la réponse le code est "sur les pare-feu" .après la fermeture de mes fenêtres et pare-feu kaspersky j'ai obtenu le résultat requis. merci – lakshman

Questions connexes