1

JQuery Mobile でデフォルトのエラー応答を次のように変更できますが、次のようにします。

$(document).bind("mobileinit", function() {
    $.mobile.pageLoadErrorMessage = 'This is my custom error.';
});

実際のアプリケーションから返されるエラーを使用したいと思います。これにより、エラーに応じて異なるメッセージを設定できます。

たとえば、Forbiddenエラーが発生した場合、その問題に関連するものを表示したいとします。

JQuery のほうが適している場合は、JSON として応答を返す柔軟性がありますが、それpageLoadErrorMessageを消費する方法がわかりません。

4

1 に答える 1

2

pageloadfailedそのためにイベントを使用できます。

$(document).on("pageloadfailed", function(event, data){
    event.preventDefault();

    var errMessage = data.xhr.status + " " + data.xhr.statusText;

    setTimeout(function(){
        $.mobile.loading('hide');
        $.mobile.loading('show', {theme:"e", text:errMessage, textonly:true, textVisible: true});
    },50);

    setTimeout(function(){$.mobile.loading('hide')}, 2000);

    data.deferred.reject(data.absUrl, data.options);
});

jsフィドル

于 2013-01-20T08:06:42.917 に答える