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

jQuery Discussion :

JSON, Datatables, JQuery et configurations


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2015
    Messages
    220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2015
    Messages : 220
    Par défaut JSON, Datatables, JQuery et configurations
    Bonjour à toutes et tous,
    Je ne sais pas si j'écris cette discussion dans le bon forum.

    Mais j'ai un soucis assez compliqué.

    Je suis encodeur ColdFusion. Je dois migrer une application de CF10 vers CF11. Ce n'est pas compliqué.
    Le problème est avec JQuery + datatables et Bootstrap.

    Dans CF10, les données à attacher au datatable est en format JSON

    {"COLUMNS": ["CHAMP1","CHAMP2","CHAMP3"], "DATA": [[enregistrement 1,"donnée 1","donnée 2", "donnée 3"],[enregistrement 2,"donnée 1","donnée 2", "donnée 3"]] }

    Et donc, le code pour lier les données au datatables est:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    jQuery('#Dtable').dataTable({
       "pageLength"    : 50,
       "ordering"      : false,
       "ajax"          : {
    	"url"      : "?event=selection.GetJson"
            "dataSrc"  : "DATA"

    Cela fonctionne très bien

    Maintenant, avec CF11, la structure JSON est differente:

    [{enregistrement 1, "champ1": "donnée 1","champ2":"donnée 2","champ3":"donnée 3"},
    {enregistrement 2, "champ1": "donnée 1","champ2":"donnée 2","champ3":"donnée 3"},
    {enregistrement 3, "champ1": "donnée 1","champ2":"donnée 2","champ3":"donnée 3" }]

    La partie "COLUMNS" et "DATA" sont disparues et chaque enregistrement est maintenant une liste composée du nom du champs (en minuscule - obligatoire) et de la valeur.

    Changer le format est très simple. Il existe la fonction approprié.

    Mon problème:
    Comment attacher mes données au datatables?
    Que dois-je écrire dans "dataSrc" ?

    Le tableau reste désespérément vide!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    jQuery('#Dtable').dataTable({
       "pageLength"    : 50,
       "ordering"      : false,
       "ajax"          : {
    	"url"      : "?event=selection.GetJson"
            "dataSrc"  : "DATA"
    Je m'arrache les cheveux !
    Merci d'avance pour votre aide

    Bonne journée
    André

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    dataScr doit pointer vers une page serveur qui retourne un json au format attendu ..
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2015
    Messages
    220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2015
    Messages : 220
    Par défaut Réponse
    Bonjour,
    Merci pour votre réaction rapide.

    Je suis d'accord avec vous.
    Mais, vu que le format JSON à changé, cela voudrait dire que je dois remplir mon datatable d'une autre manière?

    Merci
    Bonne journée
    André

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    je n'ai pas compris
    le format JSON à changé,
    la page serveur doit délivrer le bon JSON ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  5. #5
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2015
    Messages
    220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2015
    Messages : 220
    Par défaut reaction
    Bonjour,

    Comme je l'ai mis dans l'exemple,

    L'ancienne version du JSON possèdait le format suivant:

    {"COLUMNS": ["CHAMP1","CHAMP2","CHAMP3"], "DATA": [[enregistrement 1,"donnée 1","donnée 2", "donnée 3"],[enregistrement 2,"donnée 1","donnée 2", "donnée 3"]] }

    Les données sont divisés en 2 blocs:
    - COLUMNS : contient la liste des champs (en majuscule)
    - DATA : les données elle même.

    Dans le nouveau format:

    Ces 2 blocs n'existent plus. Maintenant, chaque enregistrement est une liste avec, pour chaque enregistrement, le nom du champ (en minuscule) et la valeur.

    [{enregistrement 1, "champ1": "donnée 1","champ2":"donnée 2","champ3":"donnée 3"},
    {enregistrement 2, "champ1": "donnée 1","champ2":"donnée 2","champ3":"donnée 3"},
    {enregistrement 3, "champ1": "donnée 1","champ2":"donnée 2","champ3":"donnée 3" }]

    Donc, le serveur me retourne une chaine comme ci-dessus.
    Maintenant, j'essaie de trouver un moyen de faire accepter le datatable, ce format.
    Et là... je sèche !

    Merci de prendre de votre temps pour m'aider.
    André

  6. #6
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    Deux solutions,

    La plus raisonnable: modifier le code serveur afin de retourner le bon json

    La seconde sur le success de l'ajax récupérer le json pour le transformer puis l'injecter en source du datatable
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

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

Discussions similaires

  1. rafraichissement datatables jquery
    Par aymen8219 dans le forum jQuery
    Réponses: 0
    Dernier message: 27/07/2011, 13h16
  2. Réponses: 7
    Dernier message: 08/04/2011, 10h35
  3. Erreur requete json avec jquery 1.5
    Par gtraxx dans le forum jQuery
    Réponses: 2
    Dernier message: 06/02/2011, 18h54
  4. json et jquery
    Par lolweb dans le forum jQuery
    Réponses: 3
    Dernier message: 20/06/2010, 00h46

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