1

こんにちは、エラー関数がアラートを返すかどうかをテストしようとしましたが、起動しませんでした。jsonデータを見つけたり取得したりできないため、アラートが生成されることを期待して、URLリンクを変更しました。私が得ているのは、「Uncaught TypeError: Undefined jquery-1.9.1.min.js:3 のプロパティ '長さ' を読み取れません」です。

$(document).on('pagebeforeshow', '#blogposts', function () {
    //$.mobile.showPageLoadingMsg();    
    $.ajax({
        url: "http://howtodeployit.com/api/get_recent_po",
        dataType: "json",
        jsonpCallback: 'successCallback',
        async: true,
        beforeSend: function () {
            $.mobile.showPageLoadingMsg(true);
        },
        complete: function () {
            $.mobile.hidePageLoadingMsg();
        },
        success: function (data) {
            $.each(data.posts, function (key, val) {
                console.log(data.posts);
                var result = $('<li/>').append([$("<h3>", {
                    html: val.title
                }), $("<p>", {
                    html: val.excerpt
                })]).wrapInner('<a href="#devotionpost" onclick="showPost(' + val.id + ')"></a>');
                $('#postlist').append(result).trigger('create');
                return (key !== 4);
            });
            $("#postlist").listview();
        },
        error: function (data) {
            alert("Data not found");
        }

    });
});
4

4 に答える 4

0

おそらくここで$.each(data.posts,data.posts が定義されていないため、エラーが発生します。成功のコールバックにログインdataし、その内容を確認します。

于 2013-10-24T07:11:24.430 に答える
0

ご意見をお寄せいただきありがとうございます。私はすべての提案を取り入れました。ジェイソンからの推薦はより理にかなっているようだったので、彼の提案を調査している間、私はjasonCallbackについてもっと読むためにこのサイトに来ました. jasonCallback オプションを削除しても問題は解決しませんでしたが、奇妙なことに、この問題は、json caalback に使用していた URL に関係しているようです。

次に、URLを「http://howtodeployit.com/api/get_recent_po」から「 http://howtodeployit.com/category/daily-devotion/feed/?json=recentstories 」に変更すると、うまくいきました。どちらもコンソールでエラーを返しましたが、2番目はエラー関数をトリガーしたものでした。なぜ私はそれを調べています。

于 2013-10-24T08:18:33.860 に答える