Wie bekommt man Daten aus der JQuery getJSON Rückruf

Ich brauche, um das JSON-Objekt-Daten aus der callback-Funktion, so dass ich Bearbeiten kann, es später in der Seite, nicht innerhalb der callback-wie ich jetzt bin. Es muss erkennbar sein für alle anderen, wie ich kann nicht sehen, nichts darüber geschrieben. Kann mir jemand sagen, wie es zu tun?

Hier ist mein code:

<script type="text/javascript" src="/site_media/js/jstree/_lib/jquery.js"></script>  
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
<script type="text/javascript">
    function initialize() {
        var myLatlng = new google.maps.LatLng(-25.363882,131.044922);
        var myOptions = {
            zoom: 4,
            center: myLatlng,
            mapTypeId: google.maps.MapTypeId.ROADMAP,
        }
        map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
        return map;
    }

    function add_marker(map, lat, long) {
        var marker_image='/site_media/images/map_marker.png';
        var myLatlng = new google.maps.LatLng(lat,long);
        title='title';
        var marker = new google.maps.Marker({
            position: myLatlng, 
            map: map, 
            title:title,
            icon:marker_image
        }); 
        //map.panTo(myLatlng);
    }

    //window.onload=initialize();
    setTimeout('map=initialize();',2000);

    $.getJSON("/ajax/get", function(data) {
        $.each(data, function(i,val) {
            latitude = val.fields.latitude;
            longitude = val.fields.longitude;
             add_marker(map, latitude, longitude);
        });
    });
</script>
<div id="map_canvas" style="width: 500px; height: 300px"></div>
Ihre Frage ist nicht klar. Die getJSON-Aufruf endet mit dem Aufruf der ausgewählten callback-Funktion. Sie verarbeiten, dass die Daten innerhalb dieser Funktion, genau wie Sie getan haben. Was ist das problem?
Warum hast du löschen Sie Ihre die Vorherige Frage? Ich habe kopiert meine Antwort zurück.
Sorry Jungs, nur zu lernen, stackoverflow als luch als alles andere!
Ich will nicht zur Verarbeitung der zurückgegebenen Daten in den Rückruf, ich möchte den cache der browser, so dass ich nicht brauchen, um es zu Holen jedes mal, wenn ich will, um es anzuzeigen. Dann das nächste mal, wenn ich überprüfen möchte per ajax, wenn es mehr Marker hinzufügen, dass ich den cache prüfen, finden die letzten Markierung Hinzugefügt und die Abfrage für mehr seitdem. Es wird sparen Sie viel server-Last, da die Daten kommt wieder viel kleiner sein.
Mein plan war, zum speichern der letzten Markierung-ID zurückgegeben, und ändern Sie dann den Ajax-request übergeben Sie es als parameter. Es sei denn, ich lese die Markierungen auf der Karte noch besitzen das problem, wie man es aus dem callback. Ich denke, ich werde Lesen müssen, um die Marker als der Rückruf ist async. Kein Wunder, das ist hart!

InformationsquelleAutor Rich | 2010-09-11

Schreibe einen Kommentar