Bonjour,
je teste pour la premi�re fois un syst�me de r�ception et d'envoie de donn�es avec ajax.
Le probl�me est le suivant: Je n'arrive pas � envoyer deux fois la m�me phrase sous internet explorer 7. La version 6 et sous mozilla firefox aucun probl�me.
Je pense donc que le probl�me se situe au nivaux de la mise en cache mais j'ai d�j� tenter de r�soudre ce probl�me. Voyez vous-m�me.
Page index.php
Page sauvegarde.php
Code : 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
29
30
31
32
33
34
35
36
37
38 <script> function onKeyPressNumbers(e) { var key = window.event ? e.keyCode : e.which; if(key == 13){ save(document.getElementById('message').value); } var keychar = String.fromCharCode(key); reg = /\r/; // Permet de capturer un retour chariot. return !reg.test(keychar); } function AfficherPhrases(){ texte = file('ToutesLesPhrases.php'); document.getElementById('AfficherToutesLesPhrases').innerHTML = texte; } window.setInterval("AfficherPhrases()",1000); function save(data){ message.value = ""; message.focus(); file('sauvegarde.php?q='+escape(data)); } function file(fichier) { if(window.XMLHttpRequest) // FIREFOX xhr_object = new XMLHttpRequest(); else if(window.ActiveXObject) // IE xhr_object = new ActiveXObject("Microsoft.XMLHTTP"); else return(false); xhr_object.open("GET", fichier, false); xhr_object.send(null); if(xhr_object.readyState == 4) return(xhr_object.responseText); else return(false); } </script> <div id="AfficherToutesLesPhrases"></div> <textarea id="message" onkeypress="return onKeyPressNumbers(event);"></textarea>
Page ToutesLesPhrases.php
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11 <? if(isset($_GET['q']) and $_GET['q']!=""){ $filename = 'ToutesLesPhrases.php'; if (is_writable($filename)) { $handle = fopen($filename, "a"); fwrite($handle, $_GET['q']."<br>\n"); fclose($handle); }exit; } ?>
Petites explications
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7 <? // on empêche la mise en cache. header("Content-Type: text/html; charset=utf-8"); header("Cache-Control: no-cache, must-revalidate"); header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); ?>
Les phrases �crites dans le textarea de la page index.php sont transmises � la page sauvegarde.php qui sert � �crire ce qui �tait dans le textarea dans le fichier ToutesLesPhrases.php et ainsi les faire appara�tre � la page index.php avec une actualisation toutes les secondes.
J'ai tent� quelque proc�d�s mais celui l� semble le moins compliqu� pour une d�monstration claire du probl�me. Ainsi j'esp�re que vous pourrez tenter de comprendre ce qui ne va pas.
Merci d'avance.
J'insiste sur le fait que ce code fonctionne sous internet explorer 6 et firefox. Cela vous permettra peut-�tre de ne pas perdre du temps inutilement
Partager