Page 1 sur 1

onreadystatechange == 3

Posté : 13 févr. 2007, 12:30
par 131
Salut
Je me demandais s'il etait interessant pour faire un chat, ou une application en temps reel, de garder un socket http ouvert via xhmlhttprequest plutot que de spammer le serveur de micro requettes avec un intervalle ridicule.

J'ai donc une fonction php simple...
<?
$list=array('salut','tu','va','bien');
foreach($list as $msg){echo $msg;flush();usleep(750000);}
?>
Appellé via ajax

Code : Tout sélectionner

function http_lnk(method,url){ var lnk; lnk=window.XMLHttpRequest?new XMLHttpRequest():new ActiveXObject("Microsoft.XMLHTTP"); if(!lnk) return; lnk.open(method,url+"?"+Math.random()); //mis en cache sinon lnk.onreadystatechange = function(){ alert(lnk.readyState); alert(lnk.responseText); } lnk.send(null); } http_lnk("get","serv.php");
Le résultat est Nickel sous Firefox 2 ...
Le probleme c'est qu'IE ne declenche onreadystatechange que lorsqu'il y a un "change" du "state", quand Firefox se contente de considerer un interval de temps.

Ma question : est il possible d'acceder aux headers, ou au responseText/responseXML quand le readystate est à 3 sous IE 7 ?

Posté : 13 févr. 2007, 13:18
par 131
plein de peanuts à qui m'aide là dessus.. :wink:

Posté : 13 févr. 2007, 15:55
par Ajoloca
Bonjour,

Je ne sais pas si dans sa version 7 IE reconnait le "readystate == 3", en tout cas dans les versions précédentes il ne le reconnaissait pas.

Posté : 13 févr. 2007, 17:52
par 131
Bonjour,

Je ne sais pas si dans sa version 7 IE reconnait le "readystate == 3", en tout cas dans les versions précédentes il ne le reconnaissait pas.
Il la reconnait, mais l'evenement n'est declenché qu'une fois.
( le readystate ne passe qu'une seule fois de 2 à 3 )

Posté : 13 févr. 2007, 18:41
par mere-teresa
Je me demandais s'il etait interessant pour faire un chat, ou une application en temps reel, de garder un socket http ouvert via xhmlhttprequest plutot que de spammer le serveur de micro requettes avec un intervalle ridicule.
Utiliser le cache sinon ?

Posté : 13 févr. 2007, 22:55
par 131
Je me demandais s'il etait interessant pour faire un chat, ou une application en temps reel, de garder un socket http ouvert via xhmlhttprequest plutot que de spammer le serveur de micro requettes avec un intervalle ridicule.
Utiliser le cache sinon ?
Comment ca ?