我正试图使用jquery从youtube api中获取一些视频数据和搜索结果数据。出于某种原因,我的代码没有发现任何错误。这是一个jsFiddle,其视频id格式错误。当我在控制台中测试它时,它会返回一个错误,但由于某种原因,我的代码无法工作。我最初尝试使用getJson和那里的错误处理方法,但没有成功。
我是jquery和ajax的新手,所以我能得到的所有帮助都将不胜感激!
这是我的代码(在jsFiddle中也是如此)。
$.ajax({
url: 'https://gdata.youtube.com/feeds/api/videos?category=dogs&orderby=published&alt=json&callback=?&max-results=5',
//contentType: "application/json; charset=utf-8",
dataType: 'json',
success: function(data) {
$.each(data.feed.entry, function(i, item) {
var title = item['title']['$t'];
var video = item['id']['$t'];
var video = video.replace('http://gdata.youtube.com/feeds/api/videos/', 'http://www.youtube.com/watch?v=');
var videoID = video.replace('http://www.youtube.com/watch?v=', '');
$.ajax({
url: 'https://gdata.youtube.com/feeds/api/videos/' + videoID + 'MALFORMEDID?v=2&alt=json&callback=?',
//contentType: "application/json; charset=utf-8",
dataType: 'json',
success: function(videoData) {
alert(title);
},
ajaxError: function(e) {
alert("could not find youtube vid");
}
});
});
},
error: function(e) {
alert("oh no!");
}
});
尝试
error: function(e) {
而不是
ajaxError: function(e) {
编辑:
在执行jsonp时,似乎不会调用错误回调。请参阅手册。
http://api.jquery.com/jQuery.ajax/
您可能需要使用getJSON。
http://api.jquery.com/jQuery.getJSON/