为什么jQuery.ajax不在for循环中返回JSON

时间:2016-11-04 01:03:05

标签: javascript jquery arrays json

我试图在javaScript中循环一个数组,在变量末尾传递一个名为" url"的变量。所以它可以从站点检索相应的JSON。然而,它返回{"错误:","未找到","状态:",404,"消息"}

   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);     

         }
     });
   }

&安培;如果我单独测试all [b],它会在数组中返回正确的值。它只有在第一段代码中显示的时候才会起作用。任何人都可以帮我弄清楚我做错了什么,这样我才能解决问题。

网址的值为https://wind-bow.hyperdev.space/twitch-api/streams/ 我正在制作一个抽搐的电视应用

2 个答案:

答案 0 :(得分:2)

尝试这个,我尝试了我的结果并且它有效。您的数组声明中可能存在语法错误。

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 :(得分:-1)

是你的url整数?如果它是这样,那么可能首先将其转换为字符串将起作用。试试url:url+all[b].toString()