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

177
Visualizações
No se accede al middleware Express

El siguiente código es un middleware utilizado para crear la propiedad req.user que contiene el obj del usuario si existe req.session.user. Sin embargo, por alguna razón, nunca entra en el middleware. Entonces 'hihihhiihi' tampoco se imprime.

 // have middleware that deserializes the logged in user // if req.session.user exists, then create property req.user that contains the user obj app.use(async (req, res, next) => { console.log('hihihhiihi'); if(req.session.username) { console.log(req.session.username,' is abcdefg'); req.user = await User.findOne({username: req.session.username}).exec(); } next(); });

Esta es mi aplicación.js

 import bodyParser from 'body-parser'; import mongoose from 'mongoose'; import cors from 'cors'; import diaryRoutes from './routes/diarys.js'; import userRoutes from './controllers/user.js' const app = express(); // app.use(express.urlencoded({ extended: false })); app.use(bodyParser.json({ limit: '30mb', extended: true })) app.use(bodyParser.urlencoded({ limit: '30mb', extended: true })) app.use(cors()); import session from 'express-session'; // after login, don't have to enter username and pw again // ...so sessions const sessionOptions = { secret: 'secret for signing session id', saveUninitialized: false, resave: false }; app.use(session(sessionOptions)); app.use((req, res, next) => { console.log('session contains', req.session); next(); }); // have middleware that deserializes the logged in user // if req.session.user exists, then create property req.user that contains the user obj app.use(async (req, res, next) => { console.log('hihihhiihi'); if(req.session.username) { console.log(req.session.username,' is abcdefg'); req.user = await User.findOne({username: req.session.username}).exec(); } next(); }); app.use('/diarys', diaryRoutes); app.use('/users', userRoutes); const CONNECTION_URL = 'someurl'; const PORT = process.env.PORT || 5000; mongoose.connect(CONNECTION_URL, { useNewUrlParser: true, useUnifiedTopology: true }) .then(() => app.listen(PORT, () => console.log(`Server Running on Port ${PORT}`))) .catch((error) => console.log(`Error message(can't connect): ${error}`));
about 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

Me di cuenta de que uso React en la interfaz y también uso res.json() para enviar la respuesta a la interfaz, por lo que debería usar

 app.use(express.json());

en vez de

 app.use(bodyParser.urlencoded({ limit: '30mb', extended: true }))

Si alguien tiene un problema similar, verifique si usa res.json o res.render :)

about 4 years ago · Santiago Trujillo 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