1

YouTube API の使用。json.data.totalItems == 0 のときにアラート (「検索結果なし」) を取得しようとしていますが、何も起こらず、何も起こりません... json.data.totalItems > 0 の場合、すべて正常に動作します。

これがなぜなのか、何か考えはありますか?

すなわち

json.data.totalItems == 0 : https://gdata.youtube.com/feeds/api/videos?v=2&alt=jsonc&max-results=20&format=5&orderby=関連性&uploader=パートナー&q=oierjt

コード: var url = " https://gdata.youtube.com/feeds/api/videos?v=2&alt=jsonc&max-results=20&format=5&orderby=rating&uploader=partner&q= " + searchinput ;

        var request = $.ajax({

            url: url,

            type: "GET",

            timeout: 8000,

            dataType: "json",

            error: function(xhr, ajaxOptions, thrownError) {

                alert("Something went wrong");

            },

            success: function(json) {

                var numberOfItems = json.data.items.length;
        var totalItemsAmount = json.data.totalItems;        

        if (totalItemsAmount == 0) { 
                    alert("No videos found");
                }
                else {

                    for (var i = 0; i < numberOfItems; i++) {
                            alert("videos found")
                        }
                 }
4

1 に答える 1

1

結果を確認します。totalItemsゼロの場合は、itemsまったく存在しません。行で例外が発生しますjson.data.items.length。その行を削除するか、elseブロック内に配置する必要があります。

success: function(json) {
    var totalItemsAmount = json.data.totalItems;        
    if (totalItemsAmount == 0) { 
        alert("No videos found");
    } else {
        var numberOfItems = json.data.items.length;
于 2013-10-25T04:38:13.233 に答える