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

JavaScript Discussion :

JSON renvoyé depuis PhP par Ajax illisible


Sujet :

JavaScript

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Intégrateur Web
    Inscrit en
    Septembre 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Intégrateur Web

    Informations forums :
    Inscription : Septembre 2013
    Messages : 4
    Points : 5
    Points
    5
    Par défaut JSON renvoyé depuis PhP par Ajax illisible
    Bonjour tout le monde,

    Je rencontre un gros problème avec JSON et ses amis PhP, SQL, JS-Ajax.

    Voici le code JS en premier avec mon appel à PhP par Ajax :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    var xhr = getXhr();
    xhr.open( 'post' , 'php/gestview.php' , true );
    xhr.setRequestHeader( "Content-Type", "application/x-www-form-urlencoded" );
    xhr.onreadystatechange = function() {
        if ( xhr.readyState == 4 && xhr.status == 200 ){
            var PhP_reply = xhr.responseText;
            var poutou = JSON.parse(PhP_Reply);
            alert(poutou);
        }
    }  
    xhr.send( null );
    Puis le script PhP qui reçoit la requête Ajax affichée ci-dessus :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    try{
        $bdd = new PDO ('mysql:host=localhost;dbname=db_application', 'root', '');
    }
    catch (Exception $e){
        die('Erreur : ' . $e->getMessage());
    }
    $query_liste_clients = $bdd->query('SELECT * FROM fiches_clients ORDER BY id_client ASC');
    $bdd = null;
    $mareq = $query_liste_clients->fetchAll();
    $ajax_retour = json_encode($mareq);
    echo $ajax_retour;

    Voilà une journée que je cherche, que j'interroge et RIEN ! Y'a-t-il un bon samaritain ?

    Même si je comprends parfaitement ce qu'il se passe, il me manque une syntaxe, bref du code... Quelqu'un voit ?

    Merci d'avance.

  2. #2
    Futur Membre du Club
    Homme Profil pro
    Intégrateur Web
    Inscrit en
    Septembre 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Intégrateur Web

    Informations forums :
    Inscription : Septembre 2013
    Messages : 4
    Points : 5
    Points
    5
    Par défaut Rséolution
    Je viens de trouver le problème sur un post ici : Lire un fichier JSON.

  3. #3
    Expert éminent
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Points : 9 127
    Points
    9 127
    Par défaut
    Citation Envoyé par PandoraShys Voir le message
    Bonjour tout le monde,

    ...
    PAS bon le DIE

    Ton client (app javascript) attend un json et ceux qu'il y ai eut ou non erreur.
    dans ton code tu fais un DIE qui affiche l'erreur mais le contenu n'est pas affiché vu que c'est le parseur JSON qui le reçoit


    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
    18
    header('Content-Type: application/json'); //le script renvoi du JSON
    try{
      $bdd = new PDO ('mysql:host=localhost;dbname=db_application', 'root', '');
     
      $query_liste_clients = $bdd->query('SELECT * FROM fiches_clients ORDER BY id_client ASC');
      $mareq = $query_liste_clients->fetchAll();
      $bdd = null;
      echo utf8_encode(json_encode($mareq));
    }
    catch (Exception $e){
      $response = array(
          'erreur' => $e->getMessage()
      );
       //le die est à prohiber on renvoi un code d'erreur http 
      header("HTTP/1.0 500	Internal Server Error"); //500 pour un code générique (standard)
      //header("HTTP/1.0 601 " . $e->getMessage()); //6xx pour un code spécifique à l'application
      echo utf8_encode(json_encode($response)); //puis on donne la réponse qui est un json contenant le message d'erreur
    }

    A+JYT

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 20/03/2011, 11h17
  2. [AJAX] IE me coupe ume partie du code HTML renvoyé par AJAX
    Par C_C dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 22/01/2008, 15h52
  3. Renvoyer un flux XML AJAX - PHP
    Par sliderman dans le forum Langage
    Réponses: 2
    Dernier message: 03/01/2008, 14h25
  4. [AJAX] Affichage de requête PHP dans un div créé par Ajax
    Par will89 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 13/12/2007, 19h00

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