2011-08-18 69 views
0

我們有一個針對手機優化的網站。我們確實頻繁發出ajax請求,並且有時候某個事件會從後端被扯開。通知用戶當wifi,或3g 4g網絡迷路jquery或javascript

現在的問題是如何正確管理網絡連接丟失。

我們可以創建一個自定義事件,當連接使用jquery丟失時它將被觸發嗎?

+0

我可以創建綁定到**連接丟失事件**這樣的:$(體).bind(「點擊」 ....) – shebelaw

回答

0

使用下面的代碼。

$(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 
     } 
    } 
+0

只有在使用asp.net時才能正常工作 –

+0

但上述解決方案會導致性能問題。是否有可能在連接失敗時得到通知,就像其他事件一樣。 – shebelaw

3

試試這個:

function doIhaveInterWebs(){ 
    $.ajax({ 
    url: "test.txt", 
    success: function() {return true} 
    error: function(){return false} 
    }); 
} 
+1

並確保你有「的test.txt」 - 錯誤也會在404上觸發 –

相關問題