Soy nuevo en nodejs. Estoy tratando de hacer un formulario de inicio de sesión usando el motor ejs. Lo que quiero es simplemente imprimir el nombre de usuario y la contraseña en la pantalla de bienvenida mediante la solicitud posterior. El problema es que si estoy usando la acción POST, imprimirá mis datos pero no mostrará el diseño de la pantalla de bienvenida y si usé la acción GET, mostrará el diseño de la pantalla pero no tendrá los datos. He escrito el código en el archivo app.js. ¿¿Es correcto?? Mencioné mi código app.js a continuación como referencia. Gracias por adelantado.
Código:-
app.post('/welcome', function(req, res) { res.send('Username is '+req.body.unm+'<br>Password is '+req.body.pwd); });Hay información realmente útil en la página ejs npm: https://www.npmjs.com/package/ejs
Le sugiero que busque en el paquete express , que le permite publicar páginas, por lo que comenzaría con algo como esto:
app.get('/', function(req, res){ return res.sendFile(__dirname + '/index.html'); });Aquí hay una respuesta útil que lo ayudará: cómo implementar la autenticación de inicio de sesión en node.js
Si está utilizando express con ejs, debe definir la carpeta que alberga sus vistas (archivos .ejs) de esta manera:
var express = require('express') app.use(express.static(__dirname + '/views')); // set the static files location for the static htmlY en lugar de res.send, responde con esto:
app.post('/welcome', function(req, res) { res.render('welcome', {username: req.body.unm, password: req.body.pwd}); }); Construya su html en welcome.ejs y coloque marcadores de posición para <%= username %> y <%= password %>
Ejemplo de archivo welcome.ejs en el directorio de vistas en la base del proyecto:
<div class="container"> <p>Welcome<b><%= username %></b></p> <p>Your password is <%= password %> </p> </div>