Acualiser une div jQuery javascript

Par Ynèv, il y a 7 ans


Bonjour ,

j'ai mis dans un fichier javascript

function autoRefresh_div() { $("#puu").load("chat.php"); } setInterval('autoRefresh_div()', 2000);

j'ai enregistré la bibli jQuery dans jQuery_bibli.js .

j'ai bien mis les deux liens de la bibli et du javascript dans head de ma page chat.php.

Mais dans le tchat la div id="puu" ne s'actualise toujours pas seule.

26 réponses

Ynèv, il y a 7 ans

dans la console du navigateur j'ai comme msg d'erreur $ is not defined

Lartak, il y a 7 ans

Bonsoir.
Le fichier JavaScript de ton code est bien chargé après celui de jQuery ?
Car si tu as cette erreur, ça veut dire que lorsque le fichier de ton code est chargé qu'il ne connais pas l'alias de jQuery qui est $.
Par contre fais attention, car au moment ou le fichier de ton code est chargé, le DOM de la page n'est pas totalement chargé, du coup tu risques d'avoir une erreur.
Tu as deux possibiltés, soit vérifier en JavaScript que le document a bien été chargé, ou alors charger le fichier de ton code JavaScript juste avant la fermeture du body.
En général pour des raisons de performances pour le chargement de la page, il est préférable de charger le maximum de fichiers JavaScript avant la fermeture du body et non dans le head.

Ynèv, il y a 7 ans

j'ai bien mis le lien js avant la fin de body , mais le message d'erreur est toujours le meme.

Ynèv, il y a 7 ans
<script src="jQuery_bibli.js"></script> <script type="text/javascript" src="rafraichir.js"></script> </body> </html>
Ynèv, il y a 7 ans

j'avais pas vu mais j'ai aussi :

Uncaught SyntaxError: Invalid regular expression flags

Lartak, il y a 7 ans

Il te faut bien vérifier que le fichier de la librairie est bien chargée, qu'il n'y a pas d'erreur dans le nom du fichier et/ou dans le chemin d'accès.
Sinon, je n'avais pas fait gaffe, mais je doute beaucoup que ton setInterval fonctionne correctement, car ce n'est pas setInterval('autoRefresh_div()', 2000); mais setInterval(autoRefresh_div(), 2000);.

Uncaught SyntaxError: Invalid regular expression flags

Une erreur de syntaxe dans un des fichiers, peut-être ce que j'ai dis juste avant.

Ynèv, il y a 7 ans

le chemin d'accès est le plus simple du monde tout est dans un meme dossier et il n'ya aucune erreur de nom j'ai vérifié...

Serait il possible que le pbm vienne de la librairie ?

Lartak, il y a 7 ans

le chemin d'accès est le plus simple du monde tout est dans un meme dossier et il n'ya aucune erreur de nom j'ai vérifié...

Si ton fichier est à la racine du site/serveur, je te conseille de préfixer le nom du fichier par /, car si tu affiches une page qui se situe dans un dossier par exemple, le navigateur va tenter de charger le fichier à partir de ce dossier et non depuis la racine du site/serveur.
Par exemple :

<script src="/jQuery_bibli.js"></script> <script type="text/javascript" src="/rafraichir.js"></script>

Serait il possible que le pbm vienne de la librairie ?

Pour éviter les éventuelles erreurs, le mieux est de télécharger directement le fichier de la librairie au lieu de copier/coller le contenu dans un fichier, ou alors de charger le fichier de la librairie via un CDN.

Ynèv, il y a 7 ans

j'ai essayé je n'y parviens pas je suis pourtant allé sur le site officiel :https://jquery.com/download

Ils proposent de la copier mais pas telecharger...

Lartak, il y a 7 ans

j'ai essayé je n'y parviens pas

Que veux-tu dire par :

je n'y parviens pas

Tu n'arrives pas à télécharger le fichier ?

Ynèv, il y a 7 ans

oui Ils proposent de la copier mais pas telecharger...

Lartak, il y a 7 ans

Ils proposent de la copier mais pas telecharger...

Hein ?

To locally download these files, right-click the link and select "Save as..." from the menu.

Ynèv, il y a 7 ans

euh j'ai honte.

Ynèv, il y a 7 ans

maintenant ça marche mais ça a dupliquer ma page ?!

Lartak, il y a 7 ans

ça a dupliquer ma page

C'est à dire et quelle page ?

Lartak, il y a 7 ans

Je vois, c'est normal.
Parge que de cette manière tu lui dit de prendre tous le contenu de la page chat.php et de l'inclure dans #puu, remplaces par ceci :

$("#puu").load("chat.php #puu");
Ynèv, il y a 7 ans

j'ai fait ducoup $('#puu').load('chat.html #puu');
et aussi $("#puu").load("#puu");
mais ça fonctionne pas non plus :(

Ynèv, il y a 7 ans

J'ai trouvé ça sur un forum mais...

function autoRefresh_div() { $.ajax({ url: "chat.php", success: function(retour){ $('#puu').html(retour); } }); } setInterval(autoRefresh_div(), 1000);

marche pas non plus ...

Lartak, il y a 7 ans

Je veux bien t'aider, mais il faudrait que tu comprennes un minimum ce que tu fais, si la page qui contient le script se nomme chat.php, ce n'est pas en changeant son extension dans la requête ajax que ça changera quelque chose.
Je te recommande fortement de t'inspirer de Tutoriel Vidéo jQuery PHP » Créer un tchat en Ajax/PHP, tu remarqueras que le système est plus approfondi et ça évite de devoir ré-afficher tous les messages.

Ynèv, il y a 7 ans

merci mais je suis pas prenium je ne peut donc pas regarder ce tuto.

Ynèv, il y a 7 ans

oui donc ça veut dire que je dois tout refaire je prefere evoluer le code que j'ai deja parceque si je dois tout refaire a chaque fois j'avancerai jamais XD

Lartak, il y a 7 ans

Pas besoin d'être premium cela doit être un bug

Ce n'est pas un bug et il faut bien être Premium pour le visionner, tout du moins depuis le site.

donc ça veut dire que je dois tout refaire

Je t'ai dit de t'en inspirer car ce que tu fais c'est que tu récupères tous les messages à chaque requête ajax et tu les ré-affiches tous dans le HTML et de cette manière tu comprendras mieux comment faire tes requêtes Ajax.

Ynèv, il y a 7 ans

il faut utiliser $ et un "ordre" comme load ou hidde ou autre j'ai bien compris ^^

Sinon j'ai finalement fais :

$(document).ready(function(){ setInterval(function(){ $("#puu").load('chat.php #puu') }, 1000); });

Ce qui regle presque le pbm a 1 detail pres c'est que #puu se charge bien dans #puu mais par dessus ce qui altere le visuel du chat ...

Ynèv, il y a 7 ans

j'ai trouvé c'est bon merci encore ^^