开发者

Getting an GET-error when nestling JQuery/json-calls: Update

开发者 https://www.devze.com 2023-01-31 05:32 出处:网络
So what i\'m trying to do is, by using to services for ip-lookup and geo-lookup, placing a marker on a map at the visitors location.. for now.

So what i'm trying to do is, by using to services for ip-lookup and geo-lookup, placing a marker on a map at the visitors location.. for now.

This is later to be used as a script, to be placed on pages, to feed a database with user locations from where they are visiting our sites. Then by reading from the db, liveplacing dots on a map where users are located. A sort of dashboard.

Anyhow..

//


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

  });

 });

});

When I'm trying to run this, I think I've come to the conclusion that I'm getting a GET-error or something when the script tries to run the second JSON-function. It simply skips it.

Any idea what could cause this?

EDIT:

I've changed the variable for the second JSON-request. And it works. But just when i try it out while it's on my local machine. With Safari.

Tried it in Chrome and Firefox. Both local and on a server. Just wont work.

Red marked 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>');
            });

        });
    });
});


Try changing the json parameter of the second function. I think you get into trouble when using the same parameter name for both functions.

0

精彩评论

暂无评论...
验证码 换一张
取 消