2012-03-20 3 views
0

JSONを使用してtwitterフォロワーを取得するjavascriptコードスニペットを考えてみましょう。問題は私に次のようなものがあるということです: 'undefined 2146 Followers'。このスクリプトは、約4つのツイッターアカウントのデータを印刷するためのものです。次のようにコードは次のとおりです。PHPとJSONがフォロワー数を獲得

<div id='twitter'> 
    <script type='text/javascript'> 
    $(document).ready(function(){ 
     var i; 
     twitterusername = ['Sinbg','followfog','miniclip','vgames']; 
     for(i=0; i<4; i++){ 
     $.getJSON('http://twitter.com/users/' + twitterusername[i] + 
        '.json?callback=?', function(data){ 
      $('#twitter').html('' + twitterusername[i] + ' ' + 
          data.followers_count + ' Followers' + '<br/>'); 
     }); 
     } 
    }); 
    </script> 
</div> 
+1

これはPHPとは何の関係もありません... – Brad

答えて

1

kolinkが言ったことに加えて、あなたは最後の出力しか得られないので、あなたはtwitter divの内容を上書きしています。

ここでの全てが固定されている:http://jsfiddle.net/fEfNr/

2

$('#twitter').html(...)部分が呼び出されるとき、あなたのforループが終了したとiの値が4です。したがって、twitterusername[4]undefinedです。

for(i=0; i<4; i++) { 
    (function(i) { 
     // your loop stuff here 
    })(i); 
} 

これが効果的にその値を「アンカー」、iのための新しいクロージャを作成します。このようなあなたのループ、構造を修正するには

+0

はそれを修正しようとしましたが、まだ動作していません。 JSfiddleの例を教えてください。 – George

+0

これを実証するためにフィドルがなぜ必要なのかわからない...最後に '(function(i){'をループの始めに、 '})(i);'を追加するだけです...どのような方法でそれは "働いていない"ですか? –

+0

#twitter divには何も表示されません – George

関連する問題