【问题标题】:jQuery getJSON not working for deleted twitch channeljQuery getJSON 不适用于已删除的抽搐频道
【发布时间】:2016-03-31 05:02:35
【问题描述】:

我正在尝试制作一个抽搐频道列表,显示谁在线/离线,并显示该人已删除该帐户的消息。问题是,如果人员帐户不再存在,即使请求返回具有几个属性的 JSON 文件,getJSON 方法内部也不会起作用。

Codepen:http://codepen.io/ZacharyKearns/pen/obxREy/

https://api.twitch.tv/kraken/channels/brunofin //已删除频道

{"error":"Unprocessable Entity","status":422,"message":"Channel 'brunofin' is not available on Twitch"}

这里是代码;

var streamers = ["freecodecamp", "medrybw", "brunofin", "storbeck", "terakilobyte", "habathcx", "RobotCaleb", "thomasballinger", "noobs2ninjas", "beohoff"],
 streamerList = $('ul.list-group');

$.each(streamers, function(i) {

 $.getJSON("https://api.twitch.tv/kraken/channels/" + streamers[i], function(channelData) {

  $.getJSON("https://api.twitch.tv/kraken/streams/" + streamers[i], function(streamData) {

   if (channelData.status == 422) {

    var listItem = $('<li/>').addClass('list-group-item').appendTo(streamerList),
     nameLink = $('<a/>').html(channelData.message).appendTo(listItem);

   } else {

    var listItem = $('<li/>').addClass('list-group-item').appendTo(streamerList),
     nameLink = $('<a/>').html(channelData.display_name).appendTo(listItem);

   }
  });
 });
});

【问题讨论】:

  • 有什么问题?服务器返回 422 状态码表示该帐户不再存在。这似乎是合理的行为。

标签: javascript jquery twitch


【解决方案1】:

https://api.twitch.tv/kraken/channels/brunofin 返回 422 网络错误代码。它永远不会进入$.getJSON 的“成功处理程序”。

您应该在 json 调用中添加一个 .fail() 处理程序。

$.getJSON("https://api.twitch.tv/kraken/channels/" + streamers[i],  function(channelData) { 

   }).fail(function(err) {
     //handle fail here
   });

【讨论】:

  • 谢谢。圣诞快乐
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-11-30
  • 2021-06-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多