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] Erreur sur la réponse XML, impossible d'exploiter les résultats


Sujet :

AJAX

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    257
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juin 2010
    Messages : 257
    Points : 102
    Points
    102
    Par défaut [AJAX] Erreur sur la réponse XML, impossible d'exploiter les résultats
    Bonjour à tous,

    Je développe actuellement des applications de gestion de données métiers.
    Sur cette application j'avais mis en place un système de recherche d'identifiant grâce à AJAX
    sauf que depuis aujourd'hui cela ne fonctionne plus et je ne sais pas vraiment pas pourquoi...
    J'ai tout passé en revue et je commence a être à court d'idées !

    Voici l'erreur obtenue :
    Nom : Capture 2.PNG
Affichages : 157
Taille : 13,9 KoNom : Capture.PNG
Affichages : 151
Taille : 12,5 Ko

    CODE PHP POUR FORMATER LE XML :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    include_once CLASSE_DIR . 'dossier.php';
    header("Content-Type: text/xml; charset=utf-8");
    echo "<?xml version=\"1.0\" encoding=\"utf-8\"?>";
    echo "<list>"; 
    $page = (isset($_POST["page"])) ? htmlentities($_POST["page"]) : NULL;
    $dossier = new dossier();
    if ($page == "select_dossier"){
    	if (!empty($search)){
    		$dossier_recup = $dossier->select_dossier_search($search);
    		foreach ($dossier_recup as $data){
    			//trigger_error("N° DOSSIER A RECUPERER : ".$data['numeroDossier']);
    			$name = "id_dossier_update";
    			echo "<item id=\"".$data['id']."\" name=\"".$name."\" valeur=\"".$data['numeroDossier']."\" />";
    		}
    	}
    }
    echo "</list>";

    CODE Javascript pour lancer et exploiter la requête AJAX
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    function recup_num_dossier(traitement, type, valeur) LANCEMENT DE LA REQUETE AJAX
    {
        var xhr   = getXMLHttpRequest();
     
        xhr.onreadystatechange = function() 
    	{
            if (xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 0)) 
    		{
                readDataDossier(xhr.responseXML, type);
            }
        };
     
        xhr.open("POST", traitement, true);
        xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
     
    	if(type == "select")
        {
            xhr.send("page=select_dossier&search=" + valeur);
        }
        else
        {
            xhr.send("page=dernier_dossier");
        }    
    }
     
    function readDataDossier(data, type)  //LECTURE DES RESULTATS
    {
        if(data)
    	{
            var nodes = data.getElementsByTagName("item");
     
            if(type == "select")
            {
                var oSelect = document.getElementById(nodes[0].getAttribute("name"));
                var oOption, oInner;
     
                oSelect.innerHTML = "";
                for (var i=0, c=nodes.length; i<c; i++) 
    			{
                    oOption = document.createElement("option");
                    oInner  = document.createTextNode(nodes[i].getAttribute("valeur"));
                    oOption.value = nodes[i].getAttribute("id");
     
                    oOption.appendChild(oInner);
                    oSelect.appendChild(oOption);
                }
            }
            else
    		{
               for (var i=0, c=nodes.length; i<c; i++) 
    		   {
                    document.getElementById(nodes[i].getAttribute("name")).value = nodes[i].getAttribute("id");
                } 
            } 
        }
    }
    Pouvez m'aider à résoudre ce soucis svp ?

    je vous remercie par avance !

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    257
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juin 2010
    Messages : 257
    Points : 102
    Points
    102
    Par défaut
    Le problème venait en fait d'un fichier inclus qui généré un espace ou un caractère en début de fichier.
    Ceci empêchait la compréhension du XML par le navigateur et donc la récupération de la réponse.

    Désolé du dérangement,

    Bonne journée à tous !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Impossible de lister les résultats d'une requête
    Par jibe84 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 18/02/2014, 16h48
  2. [PDO] PDO et class pour la connexion : impossible d'afficher les résultats
    Par neovea dans le forum PHP & Base de données
    Réponses: 13
    Dernier message: 25/02/2013, 14h35
  3. Réponses: 4
    Dernier message: 21/04/2011, 16h19
  4. [AJAX] Firefox tronque ma réponse XML alors que IE non
    Par phxGolden dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 22/05/2007, 11h20

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