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] Highcharts et Ajax


Sujet :

AJAX

  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2010
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Décembre 2010
    Messages : 59
    Par défaut [AJAX] Highcharts et Ajax
    Bonjour,

    je suis en train de développer une application web de Benchmarking.

    L'utilisateur arrive sur un formulaire de recherche multicritères, et génère un graphique par rapport aux options qu'il a choisi en appuyant sur un bouton.

    Je fais donc un appel ajax qui envoi les paramètres choisis à un fichier php qui génère une requête et qui ensuite retourne un résultat sous forme de JSON.

    Je bloque au moment de construire le graphique malheureusement !

    Voici mon appel AJAX : (Pour le moment j'affiche juste le JSON dans une DIV sur ma page afin de vérifier qu'il soit bon)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    $.ajax({  
    						type: "POST",  
    						url: "db.php",
    						data: "datedebut="+ datedebut +"& datefin="+ datefin +"& jours="+ 
    						jours +"& ferie="+ ferie +"& horairedebut="+ horairedebut +"& horairefin="+ horairefin +"& labo="+ labo +"& corres="+ corres,  
    						beforeSend : function() { // traitements JS à faire AVANT l'envoi
    						$('#results').after('<img src="img/ajax-loader.gif" alt="loader" id="ajax-loader" />'); // ajout d'un loader pour signifier l'action
    						},
    							success : function(data){ // traitements JS à faire APRES le retour d'ajax-search.php
    							$('#ajax-loader').remove(); // on enleve le loader
    							$('#results').html(data); // affichage des résultats dans le bloc 
    							}  
    					});
    Un exemple de JSON que j'obtiens :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [{"DelaiMoyenTechnique":"05:07:36","DelaiMoyenBio":"05:39:16","DelaiTotal":"10:46:52"}]
    Mon graphique sera TOUJOURS (pour l'instant) composé de ces 3 valeurs, donc c'est basique-ment un graphique à 3 colonnes.

    Un exemple de rendu de graphique sous Highcharts : http://jsfiddle.net/PPAUx/758/

    (Donc pas loin de se que je cherche à faire)

    Merci d'avance pour votre aide, ça fait 2 jours que je cherche en vain.

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 205
    Par défaut
    Bonsoir,
    en jQuery il existe jQuery.getJSON() qui devrait t'aider à y voir plus clair pour la récupération et le formatage des données.

  3. #3
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2010
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Décembre 2010
    Messages : 59
    Par défaut
    Bonjour,

    mon $.ajax est sensiblement la même fonction que le get.json, avec plus d'options. (Get.json ne prend pas la méthode POST).

    Je n'arrive toujours pas à rapatrier mon json et je ne comprend vraiment pas ce qui cloche !

    La fin de mon fichier db.php qui normalement me renvoi le json.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    header("Content-type: application/json");
    	echo json_encode($rows);
    Ma fonction $.ajax censée récupérer le json :

    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
    $.ajax({  
    						type: "POST",
    						url: "db.php",
    						cache: false,
    						dataType: "json",
    						data: donnees,  
    						beforeSend : function() { // traitements JS à faire AVANT l'envoi
    						$('#results').after('<img src="img/ajax-loader.gif" alt="loader" id="ajax-loader" />'); // ajout d'un loader pour signifier l'action
    						},
     
     
    							success : function(data){ // traitements JS à faire APRES le retour d'ajax-search.php
    							$('#ajax-loader').remove(); // on enleve le loader
    							//$('#results').html(data); // affichage des résultats dans le bloc 
    							alert(data);
    							//GRAPH ICI
     
    							}  
    					});
    Mon alert(data) affiche : [object Object]

    Donc on dirait que mon json n'est pas reconnu comme tel, cependant quand je le retourne sans le header("Content-type: application/json"); (sur db.php) et sans le dataType: "json" (dans ma fonction ajax), il apparaît bien comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [{"DelaiMoyenTechnique":"04:57:04","DelaiMoyenBio":"07:26:47","DelaiTotal":"12:23:51"}]
    (Je l'ai même validé sur un site qui vérifie la bonne syntaxe au cas où...)

  4. #4
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Mon alert(data) affiche : [object Object]

    Donc on dirait que mon json n'est pas reconnu comme tel
    Euh... dans JSON, le "O", il veut dire quoi selon toi ?

    Bref, si, ton JSON est bien reconnu et ses propriétés disponibles.
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  5. #5
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2010
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Décembre 2010
    Messages : 59
    Par défaut
    Hum ok.
    Mais alors pourquoi si je fais un simple alert(data.DelaiTotal); je reçois un "undefined" ?
    Car si on suit ma structure je devrais avoir : 12:23:51 ?

  6. #6
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Ben tu n'as probablement pas remarqué que les accolades sont entourées de crochets, qui correspond à la notation d'un tableau...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alert(data[0].DelaiTotal);
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  7. #7
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2010
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Décembre 2010
    Messages : 59
    Par défaut
    Génial !
    Merci à toi Bovino, je vais pouvoir passer à l'étape d'intégration du graph grâce à cet objet.
    Je sens que je vais passer plus souvent ici, ça me permet d'en apprendre toujours plus. (Puis bon, quand on est seul au boulot, c'est pas toujours facile quand on bloque...)

    Encore merci ! (Je ne passe pas en résolu tout de suite, au cas où je n'arriverais pas à construire le graph, ce que j'espère pas !)

  8. #8
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2010
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Décembre 2010
    Messages : 59
    Par défaut
    Problème totalement résolu dans la partie : PHP/MySQL !

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

Discussions similaires

  1. [HighCharts] Utiliser JSON avec HighCharts and AJAX
    Par Geo-x dans le forum Bibliothèques & Frameworks
    Réponses: 1
    Dernier message: 11/05/2015, 00h03
  2. [STRUTS][AJAX]Quel framework AJAX avec Struts
    Par woodwai dans le forum Struts 1
    Réponses: 24
    Dernier message: 12/03/2009, 16h19
  3. [AJAX] PHP avec ajax(makerequest)
    Par Benjiijneb dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 11/04/2006, 16h53
  4. [AJAX] texte réponse Ajax dans un conteneur div
    Par grinder59 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 12/02/2006, 18h07
  5. [AJAX] Autocomplétion + méthode Ajax
    Par seblo_scoqi dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 26/10/2005, 16h24

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