Получение GET-ошибки при размещении JQuery / json-звонков: Обновление - PullRequest
0 голосов
/ 15 декабря 2010

Так что я пытаюсь сделать это, используя сервисы для ip-lookup и geo-lookup, размещая маркер на карте в местоположении посетителей ... на данный момент.

Это позжедля использования в качестве сценария, для размещения на страницах, для подачи в базу данных местоположений пользователей, откуда они посещают наши сайты.Затем, читая из базы данных, разместите точки на карте, где находятся пользователи.Этакая панель инструментов.

Во всяком случае ..

//


[ 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);

  });

 });

});

Когда я пытаюсь запустить это, я думаю, что пришел к выводу, что я получаю GET-ошибкуили что-то, когда скрипт пытается запустить вторую JSON-функцию.Он просто пропускает это.

Есть идеи, что может вызвать это?

РЕДАКТИРОВАТЬ :

Я изменил переменную для второго JSON-запроса.И это работает.Но только когда я попробую, пока он на моей локальной машине.С Safari.

Пробовал в Chrome и Firefox.Как локально, так и на сервере.Просто не работает.

Красный помеченный текст в 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>');
            });

        });
    });
});

1 Ответ

0 голосов
/ 15 декабря 2010

Попробуйте изменить параметр json для второй функции. Я думаю, что у вас возникают проблемы при использовании одинакового имени параметра для обеих функций.

...