2010-12-15 6 views
0

Also versuche ich, indem ich Dienste für IP-Lookup und Geo-Lookup verwende, einen Marker auf einer Karte am Besucherort platzieren .. zur Zeit.GET-Fehler beim Verschachteln von JQuery/JSON-Aufrufen: Update

Diese Datei wird später als Skript verwendet, um auf Seiten platziert zu werden, um eine Datenbank mit Benutzerorten zu versorgen, von denen aus sie unsere Websites besuchen. Dann durch Lesen von der db, Live-Platzierung von Punkten auf einer Karte, wo Benutzer sich befinden. Eine Art Dashboard.

Wie auch immer ..

// 


[ Above this i've declared a googlemap, hence the google.maps-references ] 

$('#addButton').click(function(){ 



    var ipurl = 'http://jsonip.appspot.com/'; 

    //displays the users ip-adress in json-format 


    $.getJSON(ipurl,function(json){ 

     var ip = json.ip; 

//gets the ip from the above url 

     var geourl='http://freegeoip.appspot.com/json/' + ip; 

//gets location details from the ip in json-format 


     $.getJSON(geourl,function(json){ 

     var myLatlng = new google.maps.LatLng(json.latitude, json.longitude); 
     //set the position for the map 


     var marker = new google.maps.Marker({ 
     position: myLatlng, 
     title:"Hello World!" 
     }); 

     marker.setMap(map); 

    }); 

}); 

}); 

Wenn ich versuche, dies zu laufen, ich glaube, ich zu dem Schluss gekommen, dass ich einen GET-Fehler oder etwas zu bekommen, wenn das Skript das auszuführen versucht zweite JSON-Funktion. Es überspringt es einfach.

Irgendeine Idee, was könnte das verursachen?

EDIT:

Ich habe die Variable für die zweite JSON-Anforderung geändert. Und es funktioniert. Aber gerade, wenn ich es ausprobiere, während es auf meinem lokalen Rechner ist. Mit Safari.

Versucht es in Chrome und Firefox. Sowohl lokal als auch auf einem Server. Einfach nicht arbeiten.

Red markierten Text in FireBug:

GET http://example.com/json/ 200 OK 168ms

$(document).ready(function(){ 

    $('#addButton').click(function(){ 

     var ipurl = 'http://jsonip.appspot.com/'; 

     $.getJSON(ipurl,function(json){ 

      var ip = json.ip; 

      var url='http://freegeoip.appspot.com/json/' + ip; 

      $('#result').append(
       '<p>1: ' + ip + '</p>' + 
       '<p>2: ' + url + '</p>'); 

      $.getJSON(url,function(json2){ 

       $('#result').append('<p>' + json2.longitude + '/' + json2.latitude + '</p>'); 
      }); 

     }); 
    }); 
}); 
+0

Was sagt der Firebug-Tab "net" oder der Ressourcen-Tracker von Chrome über den genauen Fehler? –

+0

Wie Pekka gefragt hat, was genau wird im Net Inspector eingeloggt? Ist es eine GET-Anfrage oder eine OPTIONS-Anfrage? –

Antwort

0

Versuchen Sie, die json Parameter der zweiten Funktion zu verändern. Ich denke, dass Sie in Schwierigkeiten geraten, wenn Sie den gleichen Parameternamen für beide Funktionen verwenden.

Verwandte Themen