J'ai un fichier html de base qui est attaché à un programme java. Ce programme java met à jour le contenu d'une partie du fichier HTML chaque fois que la page est actualisée. Je souhaite actualiser uniquement cette partie de la page après chaque intervalle de temps. Je peux placer la partie que je souhaite actualiser dans un div
, mais je ne sais pas comment actualiser uniquement le contenu du fichier div
. Toute aide serait appréciée. Je vous remercie.
la source
$('#thisdiv').load(document.URL + ' #thisdiv>*')
empêche d'en avoir un autre#thisdiv
à l'intérieur de l'original#thisdiv
Supposons que vous ayez 2 div à l'intérieur de votre fichier html.
Le programme java lui-même ne peut pas mettre à jour le contenu du fichier html car le html est lié au client, tandis que java est lié au back-end.
Vous pouvez cependant communiquer entre le serveur (le back-end) et le client.
Ce dont nous parlons est AJAX, que vous obtenez en utilisant JavaScript, je recommande d'utiliser jQuery qui est une bibliothèque JavaScript commune.
Supposons que vous souhaitiez actualiser la page à chaque intervalle constant, vous pouvez alors utiliser la fonction d'intervalle pour répéter la même action toutes les x fois.
Vous pouvez également le faire comme ceci:
Où un toto est une fonction.
Au lieu de l'alerte ("hi"), vous pouvez effectuer la requête AJAX, qui envoie une requête au serveur et reçoit des informations (par exemple le nouveau texte) que vous pouvez utiliser pour charger dans le div.
Un AJAX classique ressemble à ceci:
Lorsque le backend est capable de recevoir des données POST'ed et est capable de renvoyer un objet de données d'informations, par exemple (et très préférable) JSON, il existe de nombreux tutoriels sur la façon de le faire, GSON de Google est quelque chose que je utilisé il y a quelque temps, vous pourriez y jeter un coup d'œil.
Je ne suis pas professionnel avec la réception Java POST et le retour JSON de ce type, donc je ne vais pas vous donner d'exemple avec cela, mais j'espère que c'est un bon début.
la source
Vous devez le faire côté client, par exemple avec jQuery.
Supposons que vous souhaitiez récupérer du HTML en div avec l'ID
mydiv
:Vous pouvez mettre à jour cette partie de la page avec jQuery comme suit:
Du côté serveur, vous devez implémenter un gestionnaire pour les requêtes arrivant
/api/mydiv
et renvoyer le fragment de HTML qui entre dans mydiv.Voir ce violon que j'ai créé pour vous pour un exemple amusant utilisant jQuery get avec les données de réponse JSON: http://jsfiddle.net/t35F9/1/
la source
Utiliser
fetch
etinnerHTML
pour charger du contenu divAfficher l'extrait de code
la source
$.ajax(), $.get(), $.post(), $.load()
les fonctions de jQuery envoient uneXML HTTP
requête en interne . parmi ceux-ci, leload()
n'est dédié qu'à un particulierDOM Element
. Voir jQuery Ajax Doc . Un QA de détails sur ceux-ci sont ici .la source