2013-05-27 157 views
0

我的數據庫中有一些數據。我用PHP和MySQL選擇數據並將其放入JSON中。 我將我的其他網站上的JSON加載到我的列表視圖中。有用。但是我想要的是當JSON數據發生變化時,我的列表視圖應該會自動重新加載。JSON數據更改時jQuery listview刷新

jQuery代碼

$(document).ready(function(){  
    var url="url"; 

    $.getJSON(url,function(json){ 
     $.each(json.post,function(i,post){ 
     $("ul:jqmData(role='listview')").append("<li>"+post.naam+"</li>").listview('refresh'); 
    }); 
    }); 
}); 

我希望有人能幫助我。

謝謝。

+0

* * *時* JSON數據更改? –

+0

你的json數據如何自動改變? –

+0

我想你想要的是使用ajax輪詢。您需要設置檢查新帖子(或修改)的時間間隔,並將它們附加到列表中。服務器不可能自行通知客戶端 – steven

回答

0

假設要刷新每10s,你不知道,如果您的服務器已更改的數據,你應該拉數據每10秒,然後清空你的ListView和刷新數據:

var autorefresh = null; 
function autoUpdate(){ 

    if(autorefresh) 
     clearTimeout(autorefresh); 

    autorefresh=null; 
    $.getJSON(url,function(json){ 
      var $list = $("ul:jqmData(role='listview')"); 
      $list.empty(); 
      $.each(json.post,function(i,post){ 
       $list.append("<li>"+post.naam+"</li>"); 
     }); 
      $list.listview('refresh'); 

      autorefresh=setTimeout(autoUpdate,10000); 
    }); 
} 

$(autoUpdate); 

您可能要確保getJson的安全,以防在我沒有做過的錯誤中發生。