2016-11-04 3 views
-1

"url"という変数の末尾に渡された配列値をjavaScriptでループ処理しようとしているため、サイトから対応するJSONを取得できます。私があればjQuery.ajaxがforループでJSONを返さないのはなぜですか?

for(var b = 0; b<all.length; b++){ 

    $.ajax({ 
     url:url+all[b], 
     type:'GET', 
     connectionType:'application/json; charset=utf-8', 
     async:false, 
     dataType:'jsonp', 
     success:function(data){ 
     data = JSON.stringify(data); 
     alert(data);  

     } 
    }); 
    } 

私はこのようにそれを実行した場合、それは

for(var b = 0; b<all.length; b++){ 

    $.ajax({ 
     url:url+'sammyb123', 
     type:'GET', 
     connectionType:'application/json; charset=utf-8', 
     async:false, 
     dataType:'jsonp', 
     success:function(data){ 
     data = JSON.stringify(data); 
     alert(data);  

     } 
    }); 
    } 

&作品しかし、それは{、404、 "メッセージ": "が見つかりません"、 "ステータス" "エラー"}を返しますall [b]を別々にテストすると、配列内の正しい値が返されます。コードの最初のスニペットに示されているように実行された場合にのみ動作します。誰でも私が間違っていることを理解して問題を解決することができますか?

私は

+0

あなたが値を割り当てるには、forループ内で新しい 'VARのurl'を作成しようとしましたか?その時の結果は何ですか? – Enix

答えて

2

これを試してみましたが、私はそれを試してみました。配列宣言に構文エラーがある可能性があります。 `URL +すべての[B]`し、各ループのためにそれを印刷:

var all = ["ESL_SC2", "OgamingSC2", "cretetion", "storbeck", "habathcx", "RobotCaleb", "noobs2ninjas"]; 
var url = 'https://wind-bow.hyperdev.space/twitch-api/streams/'; 

    for(var b = 0; b<all.length; b++){ 

    $.ajax({ 
     url:url+all[b], 
     type:'GET', 
     connectionType:'application/json; charset=utf-8', 
     async:false, 
     dataType:'jsonp', 
     success:function(data){ 
     data = JSON.stringify(data); 
     alert(data);  

     } 
    }); 
    } 
-1

があなたのurl整数である攣縮テレビアプリを構築していhttps://wind-bow.hyperdev.space/twitch-api/streams/ URLの値がありますか?もしそれがそうであれば、おそらくそれを最初に文字列に変換するとうまくいくでしょう。試してみてください。url:url+all[b].toString()

+0

URLは実際には文字列です。私はちょうど私の質問の末尾に追加しました – sammyb123

+0

CONCATENATED URLの値をチェックして、各ループのデモテストを行うことができますか?何が結果になるでしょうか?データ型もチェックしてください。 – Pragun

+0

urlが動作すると、配列アイテムの1つを直接url:url + "OgamingSC2"に差し込むことができます。 – sammyb123

関連する問題