Ошибка "Не удается прочитать свойство неопределенного" в ответе API Twitch

Я пытаюсь отобразить все display_name значения этой страницы JSON (максимум 25), однако я получаю сообщение об ошибке "не могу прочитать свойство 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 + " ");
        // });
      });
    });
  });
}); 

Спасибо, ребята, заранее!

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 элементы для ясности, но это может быть легко исправлено при необходимости.

Другие вопросы по тегам