我們有一個針對手機優化的網站。我們確實頻繁發出ajax請求,並且有時候某個事件會從後端被扯開。通知用戶當wifi,或3g 4g網絡迷路jquery或javascript
現在的問題是如何正確管理網絡連接丟失。
我們可以創建一個自定義事件,當連接使用jquery丟失時它將被觸發嗎?
我們有一個針對手機優化的網站。我們確實頻繁發出ajax請求,並且有時候某個事件會從後端被扯開。通知用戶當wifi,或3g 4g網絡迷路jquery或javascript
現在的問題是如何正確管理網絡連接丟失。
我們可以創建一個自定義事件,當連接使用jquery丟失時它將被觸發嗎?
使用下面的代碼。
$(document).ready(function() {
if (!Sys.WebForms.PageRequestManager.getInstance().get_isInAsyncPostBack()) {
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(endRequestHandler);
}
});
function endRequestHandler(sender, args) {
if (args.get_error() != undefined) {
var errorMessage;
if (args.get_response().get_statusCode() == '200') {
errorMessage = args.get_error().message;
}
else {
// Error occurred somewhere other than the server page.
errorMessage = "Error Message";
}
args.set_errorHandled(true);
$get('ErrorMessage').innerHTML = errorMessage;
} else {
// no error occur
}
}
只有在使用asp.net時才能正常工作 –
但上述解決方案會導致性能問題。是否有可能在連接失敗時得到通知,就像其他事件一樣。 – shebelaw
試試這個:
function doIhaveInterWebs(){
$.ajax({
url: "test.txt",
success: function() {return true}
error: function(){return false}
});
}
並確保你有「的test.txt」 - 錯誤也會在404上觸發 –
我可以創建綁定到**連接丟失事件**這樣的:$(體).bind(「點擊」 ....) – shebelaw