2016-11-04 46 views
-1

我想通过javaScript中的数组来循环访问名为“url”的变量末尾的数组值,以便它可以从站点检索相应的JSON。然而,它返回{ “错误”, “未找到”, “状态”,404, “消息”}为什么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);  

     } 
    }); 
    } 

&如果我单独测试all [b]它会返回数组中的正确值。只有当它按照代码的第一个代码段所示运行时才会起作用。任何人都可以帮我弄清楚我做错了什么,所以我可以纠正这个问题。

url的值是https://wind-bow.hyperdev.space/twitch-api/streams/ 我建立一个抽搐电视应用

+0

您是否尝试在for循环中创建一个新的'var url'来赋值:'url + all [b]'然后为每个循环打印它?那么结果是什么? – Enix

回答

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

是你url整数?好吧,如果是这样,那么也许将其转换为字符串将工作。尝试url:url+all[b].toString()

+0

该网址实际上是一个字符串。我只是将其添加到我的问题的底部 – sammyb123

+0

您可以为每个循环执行演示测试,检查CONCATENATED URL的值吗?它会产生什么结果?还要检查数据类型。 – Pragun

+0

的网址作品,你可以直接插入其中一个数组项目url:“OgamingSC2”,它会工作得很好 – sammyb123