Bonjour,
j'essaye de faire un chat en php + javascript/ajax
pour ajouter un message, pas de souci, ça fonctionne par contre, j'ai un souci lors de la recherche de nouveaux messages.
pour cela, j'envoie une requête ajax sur la page des messages toutes les 10 secondes.
Le problème c'est que à l'ouverture de la page, la page reste blanche et charge indéfiniment puis j'ai un message de firefox
Citation Envoyé par firefox
Un script sur cette page est peut-être occupé ou ne répond plus. Vous pouvez arrêter le script maintenant ou attendre pour voir si le script se terminera.
que je fasse continuer ou arrêter, le résultat est le même et la page continue à se charger puis le même message apparaît.

Voici le code que j'ai utilisé :
Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<script type="text/javascript">
        window.onload=chat();
        function refresh(file) {
                var xhr = new XMLHttpRequest();
                xhr.open('get', file);
                xhr.onreadystatechange = function(){
                        if(xhr.readyState == 4 && xhr.status == 200){
                                document.getElementById('chat').innerHTML = xhr.responseText;
                        }
                };
                xhr.send(null);
        }
        function envoi(){
                var texte = "chat_msg.php?add=" + document.getElementById('texte').value;
                refresh(texte);
                return false;
        }
        function chat(){
                var texte = "chat_msg.php";
                refresh(texte);
                setTimeout(chat(), 10000)
        }
</script>
<div id='chat'></div>
<form>
<textarea id="texte" rows="3" cols="10">message</textarea>
<input type="button" value="envoyer" onclick="envoi();"/>
</form>

Le fichier chat_msg.php contient ceci :

Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
<?php
if (isset($_GET['add'])){
	$msg = utf8_decode($_GET['add']);
	$msg.= "<br>";
}
$msg .= "coucou ceci est un message de test";
echo $msg;
?>

c'est juste en test pour le moment, c'est normal que la page chat_msg.php soit si basique