Twitch API响应中的“未定义的读读属性”错误

时间:2018-10-11 16:49:50

标签: jquery json twitch twitch-api

我正在尝试显示此JSON页面的所有display_name值(最大值为25),但是出现“无法读取属性的未定义”错误。我的代码如下:

$(document).ready(function(){
  var url= "https://api.twitch.tv/kraken/channels/sodapoppin/follows?client_id=40pbvj5imeg5ma36gla9p8ryfkyyyb&limit=100";
  $("button").click(function() {
    $.getJSON(url, function(result) {
      $.each(result, function(string, field) {
        // $.each(string, function(k, v) {
        $("#fccStatus").append(string.follows.user + " ");
        // });
      });
    });
  });
}); 

谢谢大家!

1 个答案:

答案 0 :(得分:-1)

有两个问题。首先,您需要遍历result.follows,而不是result。其次,string参数实际上是数组中当前对象的整数索引。您需要改用field。试试这个:

$(document).ready(function() {
  var url = "https://api.twitch.tv/kraken/channels/sodapoppin/follows?client_id=40pbvj5imeg5ma36gla9p8ryfkyyyb&limit=100";
  
  $("button").click(function() {
    $.getJSON(url, function(result) {
      $.each(result.follows, function(i, field) {
        $("#fccStatus").append('<p>' + field.user.display_name + '</p>');
      });
    });
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<button>Click me</button>
<div id="fccStatus"></div>

请注意,为了清楚起见,我更改了输出HTML,以显示用户的display_name包裹在p元素中,但是可以根据需要轻松地对此进行修改。