2009-09-02 5 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

"id"と "address"キーを持つJSON配列がサーバーから返されるため、両方とも動作するはずです。 – 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); 
});