Сбой вызова jQuery $.ajax для получения JSON с использованием API YouTube в некоторых видео
Я пытаюсь получить, помимо прочего, название данного видео для определенного видео на 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
РЕДАКТИРОВАТЬ 2 Итак, я добавил функцию $.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);
}
});