IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AJAX Discussion :

[AJAX] header et ajax


Sujet :

AJAX

  1. #1
    Rédacteur/Modérateur
    Avatar de troumad
    Homme Profil pro
    Enseignant
    Inscrit en
    Novembre 2003
    Messages
    5 602
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 5 602
    Points : 7 837
    Points
    7 837
    Par défaut [AJAX] header et ajax
    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
    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');
     }
    Ça marchait !
    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 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <div id='table_sup'>
    <?
    include "ajax/gr.php";
    ?>
    </div>
    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
    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');
       }
      }
    }
    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).

    Que tester pour savoir si je dois mettre ou non cet entête ? Quel test faire ?

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 567
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 567
    Points : 21 633
    Points
    21 633
    Par défaut
    C'est une question PHP, ça -_-°.

    Je ne suis pas expert et je ne sais pas pourquoi headers_sent() se mettrait d'un coup à ne plus marcher.

    Mais ce que je ferais, moi, c'est créer un autre fichier grcomponents.php qui ne s'occupe pas des headers et qui soit utilisé par tout ce qui utilisait l'ancien gr.php et par le nouveau gr.php lui-même.

  3. #3
    Rédacteur/Modérateur
    Avatar de troumad
    Homme Profil pro
    Enseignant
    Inscrit en
    Novembre 2003
    Messages
    5 602
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 5 602
    Points : 7 837
    Points
    7 837
    Par défaut
    php ? Le problème, c'est que ça ne plante que dans mes appels ajax maintenant...

    Le fichier supplémentaire... J'y pensais... Mais, il faudrait reprendre je ne sais combien de choses

    Avant ça marchait !

  4. #4
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 567
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 567
    Points : 21 633
    Points
    21 633
    Par défaut
    Citation Envoyé par troumad Voir le message
    php ? Le problème, c'est que ça ne plante que dans mes appels ajax maintenant...
    Oui, puisque PHP n'envoie plus les headers comme tu avais besoin.

    Citation Envoyé par troumad Voir le message
    Avant ça marchait !
    Oui, avant que tu mettes à jour ton serveur.

  5. #5
    Rédacteur/Modérateur
    Avatar de troumad
    Homme Profil pro
    Enseignant
    Inscrit en
    Novembre 2003
    Messages
    5 602
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 5 602
    Points : 7 837
    Points
    7 837
    Par défaut
    Citation Envoyé par thelvin Voir le message
    Oui, puisque PHP n'envoie plus les headers comme tu avais besoin.
    OK... Problème php ! http://www.developpez.net/forums/d12...nt-jai-besoin/

    Citation Envoyé par thelvin Voir le message
    Oui, avant que tu mettes à jour ton serveur.
    Ce n'est pas moi qu iait fait la màj. Je ne suis plus responsable du serveur qui héberge mon petit outil. Comme il marchait bien, on m'a demandé de le mettre sur un serveur officiciel... Je passé d'un environnement Linux à un environnemnt Windows

  6. #6
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 567
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 567
    Points : 21 633
    Points
    21 633
    Par défaut
    Citation Envoyé par troumad Voir le message
    Ce n'est pas moi qu iait fait la màj. Je ne suis plus responsable du serveur qui héberge mon petit outil. Comme il marchait bien, on m'a demandé de le mettre sur un serveur officiciel... Je passé d'un environnement Linux à un environnemnt Windows
    Ce n'est pas toi que je cherchais à accuser, mais ton environnement PHP. Et je ne cherchais pas à le faire pour lancer une cabale contre lui, mais pour que tu saches où chercher une solution à ton problème.

Discussions similaires

  1. [AJAX] Ajax + header('Content-type: image/gif') PHP
    Par kum dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 27/02/2009, 10h36
  2. Réponses: 14
    Dernier message: 12/11/2008, 15h23
  3. [AJAX] Perl CGI Ajax, Header, ajout de références scripts externes
    Par smooky132 dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 03/11/2008, 17h42
  4. [AJAX] header et page non appelée
    Par Tymk dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 26/05/2007, 16h42
  5. [AJAX] [PHP] Lourde Requête INSERT, header ou ajax
    Par speedev dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 10/10/2006, 12h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo