Jquery不会使用youtube api捕获ajax错误

时间:2012-08-17 23:55:41

标签: ajax jquery youtube-api

我正在尝试使用jquery从youtube api获取一些视频数据和搜索结果数据。由于某种原因,我的代码没有发现任何错误。 以下是视频ID格式错误的jsFiddle。当我在控制台中测试它时会返回一个错误,但由于某些原因我的代码无效。 我最初尝试使用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!");
    }
});​

1 个答案:

答案 0 :(得分:0)

error: function(e) {

而不是

ajaxError: function(e) { 

修改

在执行jsonp时,似乎不会调用错误回调。参见手册。

http://api.jquery.com/jQuery.ajax/

您可能希望改用getJSON。

http://api.jquery.com/jQuery.getJSON/