私はスクリプトにコードをしようとしています。1)テキスト入力フィールドからFBユーザーIDを読み込みます。&を配列にループします。2)FB.api名のそれぞれのIDを使用して、戻されたファースト・ネーム値を別の配列に保管します。 問題:ループのみ4に、インデックス1から行く必要があるため、何らかの理由で、すべての最初の名前がFB.api呼び出しの応答を、forループとJavascriptで配列に保存する
<script type="text/javascript">
var ids = new Array();
var names = new Array();
var fields = 4;
function firstNames() {
var i;
var k;
for (i=1;i<=fields;i++)
{
ids[i] = document.getElementById("field"+i).value;
}
for (k=1; k<=fields; k++)
{
FB.api('/'+ids[k], function(response) {
names[k] = response.first_name;
alert(k+' test '+names[k]);
});
}
}
</script>
奇妙な余分で同じ配列インデックスの場所5.に保存FB.apiから受けています誰も似たようなものに遭遇した?どんな助けでも大歓迎です。
ありがとうございます。
ああ、私はそれが何かになるのではないかと恐れていた。私は今、醜い方法でそれをして、後で回り道を考えようと思います。助けてくれてありがとうJoel! :) – Lasba
"k"値が "5"の非同期api呼び出しが問題ではないと思う...高田幹人がこのコメントを読む: "技術的根本原因はスコープ解決/評価戦略" - http://blog.mixu.net/2011/02/03/javascript-node-js-and-for-loops/#comment-7980 –