Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

190
Views
Cómo pasar datos "controlador" en lugar de "app.js" en Nodejs

Estoy trabajando en Nodejs (Express.js), estoy enviando datos de formulario al controlador pero no funcionan para mí, recibo el error "Error de tipo: no se puede leer la propiedad 'nombre' de indefinido en Nodejs", pero el problema principal es mi código es trabajando/obteniendo datos en "app.js" pero quiero obtener datos en "userController" porque quiero usar MVC strtucre, aquí está mi root.js

 var express=require('express'); var router= express.Router(); var controllers= require('../controllers'); router.get('/', controllers.homeController.index); router.get('/signup', controllers.userController.signup); router.post('/signup', controllers.userController.save); router.get('/login', controllers.userController.login); router.get('/dash', controllers.userController.dash); module.exports = router;

Aquí está mi archivo userController.js

 userController.save = function (req, res, next) { var name = req.body.name; console.log(name); }

Aquí está mi app.js, ¿Cómo puedo obtener datos en "userController" en lugar de "app.js", Gracias de antemano.

 const express = require('express'); const mysql = require('mysql'); const expressValidator = require('express-validator'); const bodyParser = require('body-parser'); const cookieParser = require('cookie-parser'); const session = require('express-session'); const flash = require('connect-flash'); const app = express(); app.use(bodyParser.urlencoded({ extended: true })); app.use(bodyParser.json()); app.use('/', routes); app.set('view engine', 'pug'); app.set('views', path.join(__dirname, 'views')); app.use(express.static(__dirname + '/public')); app.use(cookieParser('keyboard cat')); const PORT = 4000 app.listen(PORT, function (err) { if (err) console.log(err); console.log("App started on PORT", PORT); });
about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

He reorganizado sus códigos. Asegúrese de que la declaración de la ruta de su filtro sea correcta.

 var express=require('express'); var router = express.Router(); var controllers= require('../controllers/userController'); // if userController.js in controller folder. router.get('/', controllers.homeController_index); router.get('/signup', controllers.userController_signup); router.post('/signup', controllers.userController_save); router.get('/login', controllers.userController_login); router.get('/dash', controllers.userController_dash); module.exports = router;

controlador de usuario.js

 const userController_save = function (req, res, next) { var name = req.body.name; console.log(name); }

aplicación.js

 const express = require('express'); const mysql = require('mysql'); const expressValidator = require('express-validator'); const bodyParser = require('body-parser'); const cookieParser = require('cookie-parser'); const session = require('express-session'); const flash = require('connect-flash'); const path = require("path"); const app = express(); const routes = require('./routes/root'); // If your root.js inside a routes folder app.use(bodyParser.urlencoded({ extended: true })); app.use(bodyParser.json()); app.set('view engine', 'pug'); app.set('views', path.join(__dirname, 'views')); app.use(express.static(__dirname + '/public')); app.use(cookieParser('keyboard cat')); app.use('/', routes); const PORT = 4000 app.listen(PORT, function (err) { if (err) console.log(err); console.log("App started on PORT", PORT); });
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!