2012-05-29 3 views
1

Je veux obtenir des données Javascript sur une autre page et l'utiliser dans un javascript existant. Permettez-moi de l'expliquer avec les codes.getScript ou ajax

Je veux obtenir ces données de cette autre page par

<script type="text/javascript"> 
     var data = { 
    "users": [ 
    { 
     "latitude": "48.405163", 
     "longitude": "2.684659" 
    }, 
    { 
     "latitude": "43.7347242529278", 
     "longitude": "7.42198348045349" 
    } 
    ] 
}; 
    </script> 

J'ai essayé de le faire en utilisant ce code

$(function MapData() { 
     $.getScript({ 
      type: "GET", 
      url: "default.cs.asp?Process=ViewCheckinMap", 
      success: function(data) { 
       $("#content").append(data); 
      }, 
      error: function (data) { 
       $("#content").append(data); 
      } 
     }); 
    }); 

Pour utiliser les données dans la variable de données dans ce code

function initialize() { 
    var center = new google.maps.LatLng(48.404840395764175, 2.6845264434814453); 

    var map = new google.maps.Map(document.getElementById('map'), { 
     zoom: 3, 
     center: center, 
     mapTypeId: google.maps.MapTypeId.ROADMAP 
    }); 

    var markers = []; 
    for (var i = 0; i < data.users.length; i++) { 
     var location = data.users[i]; 
     var latLng = new google.maps.LatLng(location.latitude, 
      location.longitude); 
     var marker = new google.maps.Marker({ 
     position: latLng 
     }); 
     markers.push(marker); 
    } 
    var markerCluster = new MarkerClusterer(map, markers); 
    } 
    google.maps.event.addDomListener(window, 'load', initialize); 

Mais je reçois des données n'est pas défini erreur.

J'ai aussi essayé d'obtenir des données de l'autre page à l'aide

$.getScript('default.cs.asp?Process=ViewCheckinMap');

Mais j'ai eu la même erreur.

Comment puis-je résoudre ce problème? Merci beaucoup!

Répondre

1

Lorsque vous chargez le javascript avec $.getScript(), vous ne devez pas inclure les balises <script> dans le fichier que vous chargez. En outre, vous devez exécuter votre fonction initialize()après que vous avez fini de charger le fichier:

$.getScript('default.cs.asp?Process=ViewCheckinMap', initialize) 
+0

Pouvez-vous élaborer, je n'ai pas vraiment compris ce que vous dites ici. – Efe

+0

(réponse éditée, voir si cela aide) – lanzz

+0

Je vais essayer maintenant! – Efe

0

données est disponible uniquement pour la fonction de rappel de l'appel getScript. Si vous souhaitez l'utiliser à l'extérieur, enregistrez-le dans une variable globale et utilisez-le.

+0

n'est pas à l'intérieur d'une fonction dans l'autre page ne signifie pas que c'est une variable globale dans ce cas? Sinon, que dois-je faire? – Efe

Questions connexes