'Cant read property of undefined' Twitch API 响应错误

'Cant read property of undefined' error in Twitch API response

我试图显示此 JSON 页面的所有 display_name 值(最大值为 25),但我收到 "cant read property of undefined" 错误。我的代码如下:

$(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 + " ");
        // });
      });
    });
  });
}); 

先谢谢大家了!

有两个问题。首先,您需要遍历 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 以显示包含在 p 元素中的用户 display_name,但如果需要,可以轻松修改。