Problème avec Internet Explorer pour XMLHttpRequest

Eléphant du PHP | 130 Messages

12 févr. 2007, 20:42

Salut,

Je développe un chat en PHP/Ajax, et je suis confronté à un problème sur lequel je bute depuis déjà quelques heures. Je vous explique brièvement de quoi il s'agit.

Je code la partie qui fait appel à setTimeout et qui doit appeler le serveur via XMLHttpRequest toutes les 15 secondes.

Alors ça fonctionne parfaitement avec Netscape 8.1 et Firefox 2.2, mais avec Internet Explorer 6 ça coince.

Ce qui est étrange c'est qu'avec un login et un seul ça marche, mais avec d'autres logins ça ne fonctionne plus. C'est incompréhensible cette histoire. Si ça marche avec un login ça doit marcher avec les autres. Puisque une fois connecté, on fait appel a la meme page et aux mêmes scripts PHP et javascript. Si quelqu'un aurait une idée d'ou ça pourrait venir ce problème ? Merci.

Bon apres pas mal de tests et recherches j'ai fini par trouver où se situe le problème. Il s'agit de setTimeout. Voici donc ce qui pose problème :

Code : Tout sélectionner

setTimeout(maRequete(), 15000);
maRequete() correspond à l'objet XMLHttpRequest.

Donc, ce code fonctionne parfaitement avec Netscape et Firefox, mais pas du tout avec Internet Explorer.

Si quelqu'un à une idée là-dessus, je le remercie d'avance.
De mon côté je vais me replonger dans mes livres pour étudier les subtilités de setTimeout().

Eléphant du PHP | 71 Messages

13 févr. 2007, 12:04

Salut,

Essaye :

Code : Tout sélectionner

setTimeout('maRequete();', 15000);
ou bien :

Code : Tout sélectionner

setTimeout(function() { maRequete(); }, 15000);

Eléphant du PHP | 130 Messages

13 févr. 2007, 16:02

Merci Chakra. La première syntaxe que tu proposes je l'avais déjà essayé, quant à la seconde je viens de l'essayer mais sans plus de succès.

Je vais me remettre à mes recherches là-dessus, car je n'étais pas chez moi, j'ai du m'absenter.

Il est possible que ce problème soit étroitement lié aux headers de ma page, je vais voir ça.