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