Foros del Web » Programando para Internet » Node.js »

Mostrar variable enviada por post en el mismo formulario

Estas en el tema de Mostrar variable enviada por post en el mismo formulario en el foro de Node.js en Foros del Web. Luego de hacer el post de los campos, al intentar imprimir el contenido de lista[0].usuario en el archivo login.jade no me aparece nada. Las versiones ...
  #1 (permalink)  
Antiguo 04/06/2015, 11:03
Avatar de pcarvajal  
Fecha de Ingreso: enero-2002
Mensajes: 701
Antigüedad: 22 años, 10 meses
Puntos: 8
Mostrar variable enviada por post en el mismo formulario

Luego de hacer el post de los campos, al intentar imprimir el contenido de lista[0].usuario en el archivo login.jade no me aparece nada.

Las versiones y el codigo que estoy usando es el siguiente:


node version v0.12.3000
express 3.20.3


app.js
Código Javascript:
Ver original
  1. /**
  2.  * Module dependencies.
  3.  */
  4.  
  5. var express = require('express');
  6. var routes = require('./routes');
  7. var http = require('http');
  8. var path = require('path');
  9.  
  10. var app = express();
  11.  
  12. var v_login = require('./routes/login');
  13.  
  14. // all environments
  15. app.set('port', process.env.PORT || 3000);
  16. app.set('views', path.join(__dirname, 'views'));
  17. app.set('view engine', 'jade');
  18. app.use(express.logger('dev'));
  19. app.use(express.json());
  20. app.use(express.urlencoded());
  21. //app.use(express.methodOverride());
  22. app.use(app.router);
  23. app.use(express.static(path.join(__dirname, 'public')));
  24.  
  25. // development only
  26. if ('development' == app.get('env')) {
  27.   app.use(express.errorHandler());
  28. }
  29.  
  30. app.get('/', routes.index);
  31. app.get('/login', v_login.login);
  32. app.get('/login', v_login.get_enviar);
  33. app.post('/login', v_login.post_enviar);
  34.  
  35. http.createServer(app).listen(app.get('port'), function(){
  36.   console.log('Express server listening on port ' + app.get('port'));
  37. });

login.js
Código Javascript:
Ver original
  1. var lista = new Array();
  2.  
  3. function login(req, res){
  4.     res.render('login');
  5.     lista: lista
  6. };
  7.  
  8. exports.login = login;
  9.  
  10. exports.get_enviar = function(req, res){
  11.    login(req, res);
  12. }
  13.  
  14. exports.post_enviar = function(req, res){
  15.     var usuario = req.body.usuario;
  16.     var password = req.body.password;
  17.  
  18.     lista.push({
  19.         usuario: usuario,
  20.         password: password
  21.     })
  22.  
  23.     console.log("usuario==>"+lista[0].usuario);
  24.     console.log("password==>"+lista[0].password);
  25.  
  26.     login(req, res);
  27. }

login.jade
Código Javascript:
Ver original
  1. doctype html
  2. html(lang='en')
  3.   body
  4.     #container
  5.       form#frm(method="post", name="frm", action="login", enctype="application/x-www-form-urlencoded")
  6.         h1 Login
  7.         h2 usuario
  8.         input#usuario(name='usuario', type='text', value='')
  9.         br
  10.         h2 password
  11.         input#password(type='password', name='password', value='')
  12.         input#chkpassword(type='checkbox', name='chkpassword')
  13.         br
  14.         br
  15.         input(type='submit', value='Conectar')
  16.         a(href='home') >>
  17.         br
  18.         br
  19.         lista[0].usuario
  20.     #mensaje
  21.     #footer
__________________
18 laaaaargos años en FDW... y soy de los pocos que ví correr sangre! :X
  #2 (permalink)  
Antiguo 04/06/2015, 15:20
Avatar de Carlangueitor
Moderador ლ(ಠ益ಠლ)
 
Fecha de Ingreso: marzo-2008
Ubicación: México
Mensajes: 10.037
Antigüedad: 16 años, 8 meses
Puntos: 1329
Respuesta: Mostrar variable enviada por post en el mismo formulario

Checa la documentación de como imprimir variables en el template: http://expressjs.com/guide/using-template-engines.html
__________________
Grupo Telegram Docker en Español

Etiquetas: formulario, post, variable
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:42.