2013-05-27 3 views
0

У меня есть данные в моей базе данных. Я выбираю данные с PHP и MySQL и помещаю их в JSON. Я загружаю JSON на другом сайте в свой список. Оно работает. Но то, что я хочу, это когда данные JSON меняются, мой список должен перезагружаться автоматически.jQuery listview обновляется при изменении данных JSON

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

Предполагая, что вы хотите обновить каждые 10 сек, и вы понятия не имеете, если ваш сервер изменил данные, вы должны вытащить данные каждые 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 в случае ошибки, которую я здесь не делал.

Смежные вопросы