2016-02-05 57 views
0

我有一個場景,我必須顯示進度條從在線server.load數據加載到sqlite我加載了一些主表和事務表。我創建了sqlite的表,然後叫Ajax獲得的數據和SQLite中加載了:進度條下載數據SQLITE javascript

insert_sur_category(function(ret_insSur) 
{ 
    //calls ajax gets data from php and then inserts into sqlite using foreach loop and insert command 
    if(ret_insSur=="success") 
    { 
     insert_districts(function(ret_dis) 
     { 
} 
} 
} 

樣本Ajax代碼

function insert_sur_category(callBack){ 
//alert("ding here"); 
var i; 
var separator='surveymaster'; 
//alert(sessionStorage.url+"load_masters.php?separator="+separator); 
$.ajax({   
    type: "POST", 
    url: sessionStorage.url+"load_masters.php?separator="+separator,  
    contentType: "application/json; charset=utf-8", 
    dataType: "json", 

    success: function(data){ 
     obj = JSON.stringify(data); 
     obj1 = JSON.parse(obj); 

     if(obj1!=0) 
     {  

     var i=0; 

      $.each(data, function(i, item) { 
      myDB.transaction(sur_category); 

      function sur_category(tx){ 
         tx.executeSql('INSERT INTO survey_category (sur_category_id, sur_category_name,last_updated) VALUES("'+obj1[i].id+'","'+obj1[i].name+'",datetime())'); 
      } 
       // sur1(); 
     //callBack("success"); 
       }); 

     sur1(); 
     callBack("success");  
     } 
     else 
     { 
      //alert("sdfdsf"); 
      callBack("failed"); 
     } 

    }, 
     complete: function(){ 

     } 

    }); 
} 

所有的回調後的成功,我給了一個警告說加載的數據但是警報在數據加載之前就已經來臨了。我正在使用google chrome進行檢查。任何幫助請

+0

你在你的應用中使用移動jquery嗎? –

+0

不,我正在使用基本的jQuery和JavaScript ..是否有任何解決方案可能在jQuery的移動? – Philomath

+0

是的,在jquery mobile中,您可以在發送和接收數據時通過ajax調用通過移動加載,並且您可以管理進度條。 –

回答

0

transaction是一個異步調用。要進行同步通話,您可以檢查this鏈接並按照它的答案。

它一定會幫助你。