在一些影片使用YouTube API获取JSON jQuery的$就调用失败(jQuery $.aj

2019-07-30 02:46发布

我试图让,其他细节中,对于某些YouTube视频给视频的标题。 因为他们都可能根植于同样的问题,我就显示出与刚开始使用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);
    }
});

对于一些影片,如这一个 ,这完美的作品。 对于其他人,比如这一次 ,它不会永远抓住这些信息。

为什么这个不行? 这第二个例子是只有一个视频不以这方面的工作。 约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;
}

的示例视频结束像这样: ?v=J66NOwZegc4

EDIT2所以我添加了什么似乎不是导致问题的$就功能:

$.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);
    }
});
文章来源: jQuery $.ajax call fails for getting JSON using YouTube API in some videos