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 :

Envoyer variable JSON au serveur


Sujet :

AJAX

  1. #1
    Membre actif Avatar de Speed41
    Homme Profil pro
    Inscrit en
    Novembre 2002
    Messages
    718
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France

    Informations forums :
    Inscription : Novembre 2002
    Messages : 718
    Points : 210
    Points
    210
    Par défaut Envoyer variable JSON au serveur
    Bonjour,

    J'ai une variable JSON que je voudrais envoyer au server pour qu'il la sauvegarde. Mon code ne fonctionne pas car dans le fichier j'ai : "[object Object]"

    Ma variable globale Je renseigne mon élément de mon json ici
    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
     
    function variableIndicateur() {
            var variable = {
                    "titre": document.getElementById("indicateurNom").value,
                    "Détail": document.getElementById("indicateurDetail").value,
                    "Chemin": document.getElementById("indicateurDossier").value,
                    "Fichier": document.getElementById("indicateurFichier").value,
                    "Calcul": [
                            {
                                "ValeurA": document.getElementById("indicateurValeurA").value,
                                "ValeurB": document.getElementById("indicateurValeurB").value,
                                "ValeurC": document.getElementById("indicateurValeurC").value,
                                "Vu": document.getElementById("indicateurImageVu").title,
                                "PasVu": document.getElementById("indicateurImagePasVu").title,
                                "ImageEgaleA": document.getElementById("indicateurImageA").title,
                                "ImageEgaleB": document.getElementById("indicateurImageB").title,
                                "ImageSuperieurC": document.getElementById("indicateurImageC").title,
                                "CouleurInfEgaleA": document.getElementById("indicateurCouleurA").title,
                                "CouleurInfEgaleB": document.getElementById("indicateurCouleurB").title,
                                "CouleurSuperieurC": document.getElementById("indicateurCouleurC").title,
                                "Contient": contient,
                                "ColonneResultat": document.getElementById("indicateurNumeroARecuperer").value
                            }
                        ],
                    "Texte": [
                        {
                            "Separateur": document.getElementById("indicateurSeparateur").value
                        }
                    ],
                    "Excel": [
                        {
                            "Onglet": document.getElementById("indicateurOnglet").value,
                            "HostnameColonne": document.getElementById("indicateurNumeroHostname").value
                        }
                    ]
                };        
            return variable;
        }
    Je l'ajoute à mon json
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $('#indicateurNouveau').click(function () {
            indicateurs.Fichiers.push(variableIndicateur());
        });
    Je l'envois à mon serveur comme ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $('#indicateurOk').click(function () {
            $.get('/getSauveIndicateur?indicateurs=' + indicateurs, function (retour, status) {
            });
        });
    Mon serveur (fichier route.js) le lit comme ceci et c'est la que je pense que ce n'est pas bon
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    routeprincipale.get('/getSauveIndicateur', function (req, res, next) { 
        var indic = req.query.indicateurs;
        var F = path.resolve(".") +'/src/public/informations/indicateurs2.json';
        fs.writeFile(F, JSON.stringify(indic, null, 4), (err) => {  
            if (err) throw err;
            console.log('Données sauvées dans\tindicateurs2.json');
        });
      });
    Si vous avez une piste, je suis preneur

  2. #2
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 959
    Points : 44 122
    Points
    44 122
    Par défaut
    Bonjour,
    $.get('/getSauveIndicateur?indicateurs=' + indicateurs, function (retour, status)
    en utilisant cette syntaxe il faut que tu fasses un JSON.stringify(indicateurs) pour envoyer en tant que paramètre.

    Tu peux également utiliser jQuery « en plein »
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $.get( "/getSauveIndicateur", indicateurs )
      .done(function( data ) {
        // ton code retour
      });
    ou quelque chose de ressemblant.

    Ressource :

  3. #3
    Membre actif Avatar de Speed41
    Homme Profil pro
    Inscrit en
    Novembre 2002
    Messages
    718
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France

    Informations forums :
    Inscription : Novembre 2002
    Messages : 718
    Points : 210
    Points
    210
    Par défaut
    Bonjour,

    Merci pour ta réponse NoSmoking.

    J'utilise
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    JSON.stringify(indicateurs)
    j'avais testé toString(), parse()

    Ça fonctionne beaucoup mieux. Super merci


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

Discussions similaires

  1. Envoyer du JSON au serveur via POST
    Par mazertys17 dans le forum AJAX
    Réponses: 3
    Dernier message: 26/07/2019, 17h24
  2. Peut-on envoyer du json au serveur
    Par arsene555 dans le forum jQuery
    Réponses: 8
    Dernier message: 13/07/2011, 14h56
  3. [Prototype] Utiliser Json pour envoyer des données au serveur
    Par GandalfZeGrey dans le forum Bibliothèques & Frameworks
    Réponses: 3
    Dernier message: 14/02/2008, 17h16
  4. [AJAX] Retrouver xml envoyé du client au serveur (via méthode POST)
    Par leszek dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 20/05/2006, 16h07
  5. Envoyer variable à dll
    Par goutbouyo dans le forum Windows
    Réponses: 4
    Dernier message: 30/10/2004, 14h10

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