2016-12-26 6 views
-1

Je veux mettre à jour spécifique div - page html pas complète .Quand je cours le code suivant cela fonctionne très bien, mais il recharge tout le code HTML. De plus, j'utilise différentes mises en page, par exemple header, layout, footer dans un fichier différent.Comment mettre à jour une variable spécifique en utilisant JQuery AJAX après des intervalles de temps réguliers?

$(document).ready(function() { 
    setTimeout(function(){ 
    $.ajax({ 
     url: 'http://localhost:3002/jrt/?jId=$data.jacket.id', 
     method: "GET", 
     cache: false, 
     success: function(data) { 
     //$("#gt").append(data); 
     $('#gt').html(data); 
     }, 
     error: function(jqXHR, textStatus, errorThrown) { 
     alert('error ' + textStatus + " " + errorThrown); 
     } 
    }) 
    },10000); 
}) 
+0

double possible de http://stackoverflow.com/questions/25446628/ ajax-jquery-refresh-div-toutes-5 secondes. Rechercher avant de poser des questions – Garfield

+0

Vous mettez à jour un élément spécifique: '$ ('# gt'). Html (data);' Si vous souhaitez mettre à jour un élément différent, changez le sélecteur pour identifier cet élément. – David

+0

Montrez-nous votre HTML aussi .. est 'html' a l'id' gt'? Si non, qui est l'élément '# gt'? –

Répondre

1

en supposant que les données renvoyées sont HTML, vous pouvez choisir quelque chose en elle en faisant $(data).find('your-selector') pour modifier votre exemple:

[...] 
success: function(data) { 
    $('#gt .something-inside').html($(data).find('.something-inside')); 
}, 
[...] 
+0

'en supposant que la date retournée est html' - pourquoi assumez-vous cela? Lisez les commentaires .. –

+0

@moshFeu parce que vous avez dit tout le HTML recharge, donc j'ai supposé qu'il recharge avec d'autres HTML que vous obtenez de la demande. Quoi qu'il en soit, il vous suffit de faire '$ ('#gt .quelque-chose' à l'intérieur) .html (data);' –

+0

Apparemment, vous avez un peu raison. Ce n'est pas l'élément 'html' mais c'est l'élément racine de l'application. –