2013-01-18 44 views
1

雖然可以更改在jQuery Mobile的默認錯誤響應做這樣的事情的服務器響應:使用的pageLoadErrorMessage在jQuery Mobile的

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

我想用我的實際應用程序返回的錯誤,允許我根據錯誤設置不同的消息。

例如,對於Forbidden錯誤,我想顯示與該問題相關的內容。

我有靈活性作爲JSON返回響應,如果這將更適合jQuery,我只是不知道如何讓pageLoadErrorMessage消耗。

回答

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

+0

我一直在玩一些以'pageloadfailed'方法,但未能遠得到這個。我會試試這個,謝謝! – alfredodeza

+0

這完全工作。我將用一些JSON更新此消息,我將作爲消息返回:)再次感謝! – alfredodeza