Partage
  • Partager sur Facebook
  • Partager sur Twitter

isPopulated is not a function

Sujet résolu
    23 juillet 2017 à 22:53:18

    Bonjour à tous,

    J'aurais besoin de votre aide, étant donné que mes recherches sur le sujet sont infructueuses.

    Je suis actuellement en train de suivre le tutoriel sur Node.js, et voici que je bute sur le premier TP où il est question de réaliser une todolist.

    Mon soucis se situe pour le moment, autours du module "session-cookie". J'ai donc correctement chargé le middleware (à mon avis tout du moins).

    Et j'essaie par la suite de créer les données textuelles de la todolist dans différents cookies. Cependant, avant de créer ces cookies, je souhaite vérifier si l'objet req.session est déjà remplit ou non, c'est à ce moment que j'utilise cette syntaxe => if(req.session.isPopulated() == true).

    Et voilà que la console me pond une erreur m'informant que req.session.isPopulated() is not a function.

    A partir de là, je ne vois pas comment utiliser isPopulated, car d'après ce que j'ai compris (la documentation de session-cookie) cette fonction s'utiliserait sur l'objet req.session ?!

    Voici le début de mon script :

    var express = require('express');
    var session = require('cookie-session');
    var bodyParser = require('body-parser');
    var urlencodedParser = bodyParser.urlencoded({extended: false});
    
    var app = express();
    
    express.static("/img");
    
    app.use(session({secret: "brownsugar"}));
    
    app.use(urlencodedParser);
    
    app.use(function(req, res){
        req.sessionOptions.maxAge = Date.now() + (24 * 60 * 60 * 1000);
        
        // Test avec un cookie random (ce cookie qui porte la valeur toto s'affiche correctement dans la console)
        
        req.session.name = "toto";
        console.log(req.session);
        console.log(req.sessionOptions.maxAge);
        
        // fin test cookie
        
        if(req.session.isPopulated() === true)
            {
                return;
            }
        else
            {
                req.session.id1 = "Faire les courses";
                req.session.id2 = "Nourrir le chat";
                req.session.id3 = "Arroser les plantes";
                req.session.id4 = "Lire la suite du tuto sur Node.js";
            }
    });

    En espérant avoir été clair, merci par avance ! :)

    -
    Edité par MaryanIII 24 juillet 2017 à 10:22:31

    • Partager sur Facebook
    • Partager sur Twitter
      24 juillet 2017 à 10:09:04

      Est-ce que isPopulated est une méthode? ou une propriété ?

      if(req.session.isPopulated)
      {
          return;
      }
      else
      {
          req.session.id1 = "Faire les courses";
          req.session.id2 = "Nourrir le chat";
          req.session.id3 = "Arroser les plantes";
          req.session.id4 = "Lire la suite du tuto sur Node.js";
      }



      • Partager sur Facebook
      • Partager sur Twitter
        24 juillet 2017 à 10:22:03

        Comme je l'ai dit dans mon post...

        <blockquote>

        A partir de là, je ne vois pas comment utiliser isPopulated, car d'après ce que j'ai compris (la documentation de session-cookie) cette fonction s'utiliserait sur l'objet req.session ?!

        </blockquote>


        Voici une capture écran de la documentation de ce middleware : 

        Extrait documentation du module cookie-session

        • Partager sur Facebook
        • Partager sur Twitter
          24 juillet 2017 à 13:22:43

          Oui,  ça n'a pas l'air d'être une fonction isPopulated plutôt une propriété ? Mais je ne connais pas, c'est juste une suggestion, pas une affirmation!
          • Partager sur Facebook
          • Partager sur Twitter
            25 juillet 2017 à 11:29:53

            Bonjour,

            Excusez moi, j'avais mal interprété votre première réponse, ayant cru dans un premier temps que vous me posiez plus ou moins la question que je me posais.

            Et en effet, à relire ce petit morceau de la doc, il me semble tout de suite bien évident qu'il s'agit d'une propriété, comme vous me l'aviez suggérer.

            Pourtant, j'avais bel et bien essayé de m'en servir comme une propriété auparavant, mais cela ne m'affichait pas ce que je souhaitais (mais il n'y avait pas pour autant de message d'erreur venant de la console). En l'utilisant comme une propriété, le problème dans mon script était localisé dans la suite de mon script => je ne faisais pas de traitement de requête pour la racine.

            En tapant une des routes que j'avais prédéfinis dans le script, alléluia ca à marché !

            Voilà pourquoi il est important de bien dormir, sinon on bute comme moi sur des choses simples.

            Merci à vous, je vous souhaite une excellente journée ! :)

            • Partager sur Facebook
            • Partager sur Twitter

            isPopulated is not a function

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown