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);
});

jsFiddle

于 2013-01-20T08:06:42.917 回答