2009-09-02 4 views
2

Я пытаюсь преобразовать следующий код для работы с JQuery:JQuery getJSON IP

var req = new XMLHttpRequest(); 
    req.open('GET', 'http://jsonip.appspot.com', true); 
    req.onreadystatechange = function (e) { 
    if (req.readyState === 4) { 
     if(req.status === 200) { 
     var ip = JSON.parse(req.responseText); 
     alert(ip.address); 
     } else { 
     alert("Error loading page\n"); 
     } 
    } 
    }; 
    req.send(null); 

этого JQuery кусок, который не работает:

$.getJSON("http://jsonip.appspot.com", 
     function(data){ 
      alert("Data Returned: " + data.ip); 

     }); 
+0

Должно ли это быть 'data.address'? – seth

+0

data.address не работает – Eeyore

+0

Оба должны работать, так как сервер возвращает массив JSON с ключами «id» и «address». – rogeriopvl

ответ

7

Этот хост поддерживает JSONP пользовательские обратные вызовы, поэтому вы можете получить результат:

$.getJSON("http://jsonip.appspot.com?callback=?", 
    function(data){ 
     alert("Data Returned: " + data.ip); 
    }); 

Проверьте приведенный выше код here.

+0

+1 Ты избил меня! –

+0

Отлично. Спасибо. – Eeyore

1

Попробуйте это:

$.getJSON('http://jsonip.appspot.com?callback=?', function(data) { 
    console.log(data.ip); 
});