Voir un article

PHP/Ajax : vous avez un message \"Erreur sur la page\" sur internet explorer (IE) alors que ça fonctionne sur Firefox ?

voici un remède efficace testé pour vous !

j'ai eu le meme problème et après 2 heures de recherche et des touffes de cheveux arrachées voici ma conclusion :


1. coté serveur (php ou autre) le mime type ET le charset doivent être précisés !
car dans le cas d'un charset vide, IE fait une erreur lorsqu'il accède à la réponse de la requete Ajax (responseText) alors que firefox est plus tolérant et laisse passer. 


2. noter que sur sur un serveur Apache, les paramètres "default charset" dans les fichiers de config Apache et php.ini ne fonctionnent pas de la même façon pour un site en http et https (ça marche en http mais pas en https chez moi) ...


3. pour tester et voir passer les déclarations d'entete entre le serveur et le client (ici sur linux)  :
wget -d "http://monsite/mon_script_ajax.php";

si vous voyez passer (utf8 ou isoxxx , peu importe) :
Content-Type: text/html; charset=UTF-8

c'est bon ! par contre si vous voyez  :
Content-Type: text/html; charset=0

c'est pas bon ! ;o)


4. il suffit donc de corriger sur votre scirpt php, en commençant avec par exemple :
<?
header("Cache-Control: no-cache");
header("Content-type: text/html; charset=UTF-8" );

(le no-cache est utile si vous fait des échanges Ajax en GET , mais je vous recommande de faire du POST ça évite les pbs de cache et surtout ça laisse moins de trace sur les proxy et les serveurs).


Merci de me dire si ce post vous a été utile en utilisant le formulaire ci-dessous :

7 407 clics - Créé le 18/03/2009 par Tito - Modifié le 28/05/2009



Réagissez, commentez, discutez ...

1 réaction.

  • par Ata (non connecté) - 21/04/2009 21:14

    Franchement niquel, bien expliqué, je vais l'essayer pour mon projet :)




Partager ?

diaspora  G+  facebook  twitter  Digg  Yahoo  Delicious  Technorati  myspace


Voir d'autres articles en rapport avec celui-ci ?



Stats des clics sur cet article : cliquez ici »



Vous voulez contribuer et publier un article dans cette rubrique ?

Merci de vous identifier ou de vous créer un compte si ce n'est pas déjà fait.