Bonjour
J'avais développé un petit utilitaire sur un serveur WEB sous Linux. Tout marchait bien.
On m'a fait transférer mon utilitaire sur un serveur windows. Les problèmes ont commencé dans mes appels ajax. Pour avoir mon codage ISO-8859-15, J'ai du mettre des
Ça marchait !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 if (!headers_sent()) { header('Content-Type: text/xml; charset=ISO-8859-15'); }
On vient de me migrer le serveur sous une version plus ressente...
Cette fois, si je le laisse, les pages refusent de s'afficher. Comme j'ai compris que ça venait de là, je l'ai viré. Mais, maintenant, je récupère des fichiers mal encodé !
Appel de ajax/gr.php qui ne doit pas avoir le header. C'est pour lui que j'avais mis le "test]if (!headers_sent())" pour être sûr de ne pas dupliquer l'entête :
Appel de ajax/gr.php qui doit avoir le header sinon les lettres exotiques (accentuée ou autre) ne passent pas :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 <div id='table_sup'> <? include "ajax/gr.php"; ?> </div>
Le premier appel est en include dans le code php, le second est en ajax. C'est pour ça que le second a besoin du header et que le premier n'en a pas besoin (en plus il arrive trop tard dans le fichier : après l'entête).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 function suppri_gr(id) { if (confirm('Vous voulez bien supprimer le groupe dont l\'Id est ' + id)) { var xhr=cree_xhr('ajax/suppri_gr.php?id='+id); xhr.onreadystatechange = function() { if (xhr.readyState == 4 && xhr.status == 200) cree_xhr('ajax/gr.php',recup_ajax,'table_sup'); } } }
Que tester pour savoir si je dois mettre ou non cet entête ? Quel test faire ?
Partager