Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

208
Visualizações
Req.session.users no disponible en otras rutas

Chicos, actualmente estoy usando nodejs con sesión rápida y secuencia de sesión de conexión.

Actualmente estoy tratando de pasar mi ID de usuario de la sesión y acceder a otra página de agregar productos. Para que la base de datos pueda identificarse según el ID de usuario. Recibo req.session.users no es una función.

A continuación se muestra mi código.

Página de inicio de sesión de sesiones:

 const User = require('../models/user') exports.postLoginPage = (req,res,next) =>{ User.findByPk(1) .then(users =>{ req.session.isLoggedIn = true; req.session.users = users; res.redirect('/'); }) .catch(err =>{ console.log(err) }) }

la página addProduct

 exports.postaddProductsMale = (req,res,next) =>{ const title = req.body.title; const imageUrl = req.body.imageUrl; const price = req.body.price; console.log(+req.session.users) req.session.users.createProduct({ title:title, imageUrl:imageUrl, price:price }) .then(results =>{ console.log('Product created') res.redirect('male_section'); }) .catch(err =>{ console.log(err) }) };

este es mi error:

 TypeError: req.session.users.createProduct is not a function at exports.postaddProductsMale (C:\Users\ASUS\Desktop\Hobby\projects\javascript\ecommerce clothing\maarancode\controllers\admin.js:28:23

Puedo llevar los datos a las otras rutas usando req.user, no estoy seguro de por qué req.session.users no funciona.

Agradezco sus comentarios sobre esta pregunta. Gracias.

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

req.session debe ser serializable para que pueda almacenarse entre solicitudes, consulte, por ejemplo, aquí . Pero una función como req.session.users.createProduct no se puede serializar, por lo que es posible que no sobreviva hasta la próxima solicitud.

Ver el siguiente ejemplo

 express() .use(session({ secret: "Se$$ion", resave: false, saveUninitialized: false })) .use("/test", function(req, res) { if (!req.session.mybool) { req.session.mybool = true; req.session.myfunc = function() {}; } res.end(typeof(req.session.mybool) + " " + typeof(req.session.myfunc)); }) .listen(80);

Si realiza dos solicitudes, la primera respuesta es una boolean function pero la segunda es una función boolean undefined .

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda