jQuery getJSON不适用于删除的抽搐频道
我正在尝试制作一个抽搐频道列表,显示谁在线/离线并显示该人已删除该帐户的消息。 问题是如果人员帐户不再存在,即使请求返回带有几个属性的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 = $('').addClass('list-group-item').appendTo(streamerList), nameLink = $('').html(channelData.message).appendTo(listItem); } else { var listItem = $('').addClass('list-group-item').appendTo(streamerList), nameLink = $('').html(channelData.display_name).appendTo(listItem); } }); }); });
https://api.twitch.tv/kraken/channels/brunofin返回422网络错误代码。 它永远不会进入$.getJSON
的’success-handler’。
您应该在json调用上添加.fail()
处理程序。
$.getJSON("https://api.twitch.tv/kraken/channels/" + streamers[i], function(channelData) { }).fail(function(err) { //handle fail here });