jQuery $ .ajax调用无法在某些video中使用YouTube API获取JSON

我试图获得某个YouTubevideo的特定video的标题,以及其他细节。 因为他们都可能根植于同一个问题,所以我只是展示一个简单的例子,只需使用API​​获取标题。 这是我到目前为止所拥有的:

$.ajax({ url: "https://gdata.youtube.com/feeds/api/videos/" + videoID + "?v=2&alt=json", dataType: "jsonp", success: function(data) { videoName = data.entry.title.$t; $('#video_name').text(videoName); } }); 

对于某些video,例如此video,这完美无缺。 对于其他人,例如这个 ,它并没有抓住那些信息。

为什么这不起作用? 第二个例子只是一个不能用于此的video。 看来,大约1/3不起作用。

我真的很感激对此的一些见解。

编辑我如何获得videoID

 var videoID = getUrlVars()["v"]; function getUrlVars() { var vars = {}; var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(m,key,value) { vars[key] = value; }); return vars; } 

示例video的结尾如下: ?v=J66NOwZegc4

EDIT2所以我添加了$ .ajax函数,而不是导致问题的原因:

 $.ajax({ url: "https://gdata.youtube.com/feeds/api/videos/" + videoID + "?v=2&alt=json", dataType: "jsonp", async: "false", success: function(data) { commentCount = data.entry.gd$comments.gd$feedLink.countHint; iterations = Math.floor(commentCount/50); remaining = commentCount - (iterations*50); videoDesc = data.entry.title.$t; $('#video_name').text(videoDesc); document.title = 'Watching "' + videoDesc + '" on YTRT'; $('#shareLink').val('http://www.ytrealtime.com?v=' + videoID); } });