J'essaye de faire un listview dynamique qui est en train de recharger pour les changements toutes les 5 secondes. Il charge parfaitement la première fois en charge mais mon setinterval ne fonctionne pas correctement. Il va de toutes les 5 secondes, mais il ne met pas à jour mon menu, même si des modifications ont été apportées?Recharger jquery JSON toutes les 5 secondes
Voici ce que je suis arrivé à ce jour:
$(document).on('pageshow', function(){
var userid=1;
$.mobile.loading('show');
$.getJSON("http://mypage.com/playermenu.php?callback=?&userid="+userid,
function(data){
var content = []
$.each(data , function(i,val){
content.push(val.list);
});
$("#games").html(content.join(""));
$('#games').listview('refresh');
$.mobile.loading('hide');
});
});
setInterval(function(){
$.mobile.loading('show');
$.getJSON("http://mypage.com/playermenu.php?callback=?&userid="+userid,
function(data){
var content = []
$.each(data , function(i,val){
content.push(val.list);
});
$("#games").html(content.join(""));
$('#games').listview('refresh');
$.mobile.loading('hide');
});
}, 5000);
Le .mobile.loading de $ ('show'); commence après 5 secondes mais n'atteint pas $ .mobile.loading ('hide');
Toute aide est appréciée et merci à l'avance :-)
Vous devriez envisager sérieusement de refactoriser votre code –
Avez-vous des erreurs Consol? Avez-vous essayé console.log ("test") après votre "show" en passant par chaque ligne pour voir lequel (si un) est en train de gâcher? – ntgCleaner
Vous répétez deux fois le même bloc de code. Mettez-le dans une fonction et appelez cette fonction à partir d'autant d'endroits que nécessaire. Moins à maintenir de cette façon, et beaucoup moins de code. –