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.
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
.
j'ai bien mis le lien js avant la fin de body , mais le message d'erreur est toujours le meme.
<script src="jQuery_bibli.js"></script>
<script type="text/javascript" src="rafraichir.js"></script>
</body>
</html>
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.
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 ?
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.
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...
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 ?
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.
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");
j'ai fait ducoup $('#puu').load('chat.html #puu');
et aussi $("#puu").load("#puu");
mais ça fonctionne pas non plus :(
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 ...
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.
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
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.
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 ...