salut,
comme certains auront vu, je fais du php et du js.
J'utilise le xmlHttpRequest pour faire des appels essentiellemnts synchrone avec mon appli php.
Du coté php j'ai une classe qui envoit une reponse formatée en xml a mon objet js.
Tout allais bien jusqu'a ce que je mette plusieurs composants javascript qui dialoguent avec mon serveur.
J'ai des fois des erreur comme ca :
C'est ce que me ressort mon debugger js maison ca.Parser Error :
Erreur d'analyse XML : instruction de traitement XML pas au début d'une entité externe Emplacement : http://localhost/check/noname/Module...uits/index.php Numéro de ligne 2, Colonne 1 :
<?xml version='1.0' ?><ajaxResponse><methode>CHANGE_CONTENT</methode><content><div> ^
Il semblerais donc que ca viens du prologue xml.
Mon code php au début :
J'ai tenté la grosse magouille bien crade :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7$buffer = "<?xml version='1.0' ?>"; buffer .= "<ajaxResponse>"; ..... buffer .= "</ajaxResponse>"; $buffer = str_replace("&","&",$buffer); header('Content-Type: text/xml'); echo utf8_encode($buffer);
car je me suis rendu compte que si avant le deuxieme coup j'allais enlever le prologue du coté php (je peux car pas besoin de rafraichir la page) he bien la ca marche !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8$buffer .= "</ajaxResponse>"; header('Content-Type: text/xml'); if(!isset($_SESSION["prologDone"])){ echo "<?xml version='1.0' ?>"; $_SESSION["prologDone"] = true; } $buffer = str_replace("&","&",$buffer); echo utf8_encode($buffer);
le probleme c'est que la j'ai une page ou ca me met cette erreur au premier coup quand le prologue y est et plus apres
J'ai essayé de mettre des headers pour ne pas mettre en cache et rien non plus ...
merci a tout ceux qui se pencheront sur mon cas
Partager