2011-10-24 89 views
1

我有一個頁面,通過AJAX在pagecreate事件上動態加載其內容。我想顯示一個加載指示器。不幸的是,這似乎並不奏效。在jQuery Mobile上通過AJAX加載數據時在頁面創建事件時顯示加載指示燈

我的理論是,這是行不通的,因爲網頁加載本身就說明加載指示燈和頁面加載後隱藏它:

  • 頁:顯示加載指示燈
  • AJAX:顯示加載指示燈
  • 頁:隱藏負荷指示符
  • AJAX:隱藏負荷指示符

有沒有人成功在加載實際頁面之後仍然保持加載指示器顯示,但AJAX數據沒有?

回答

1

首先,您需要在頁面顯示事件中運行此操作,以顯示加載指示器。在頁面創建的加載程序無法顯示

然後在AJAX調用,隱藏完整裝載機:像這個 -

function getAllData() 
{ 
     //$.mobile.pageLoading(); //for old jqm versions 
     $.mobile.showPageLoadingMsg(); 

     $.ajax({ 
      url : "sample.com/path/to/file", 
      success : function (data) { 
        $.mobile.hidePageLoadingMsg(); 
      }, 
      complete : function() { 
         //$.mobile.pageLoading(true); //for old jqm versions 
         $.mobile.hidePageLoadingMsg(); 
      }, 
      error : function(XMLHttpRequest, textStatus, errorThrown) { 
        alert("Error text :"+textStatus+ " - type :" + errorThrown+" - Error message :" + XMLHttpRequest.responseXML); 
        //$.mobile.pageLoading(true); //for old jqm versions 
        $.mobile.hidePageLoadingMsg(); 
      } 
     }); 
} 

- 那麼它應該工作。

相關問題