如何在expressjs中向html页面发送数组值

how to send array values to html pages in express js

本文关键字:数组 html expressjs 中向      更新时间:2023-09-26

我有一个使用express js''NODEJS 的简单应用程序.js

var express= require("express");
var path= require("path");
var app= express();    
app.use(express.static(__dirname));
var users=[ {   userName: "faizan",  password: "faizan",  email: "mfkj@live.com"},
            {   userName: "ali",     password: "ali",     email: "xyz@live.com"},
            {   userName: "hussain", password: "hussain", email: "abc@live.com"},
            {   userName: "hassan",  password: "hassan",  email: "xyz@mail.com"},
];
app.get('/',function(request , response){
    response.sendFile(__dirname+ '/index.html');
});
app.get('/frmSignUp', function(request, response){
    users.push({
        userName: request.query["userName"],
        password: request.query["password"],
        email: request.query["email"]
    });
    response.sendFile(__dirname+ '/dashboard.html');
    //how can i show my user array items in my dashboard html page?? Question1
});
app.get('/frmSignIn',function(request, response)
{
    if(users.contains(request.query["userName"])) //this is invalid
// is there any way available to check userName in array that is this exists?
    response.sendFile(__dirname+ '/dashboard.html');
})
var server =app.listen(3010, function(){
    console.log("server running on port "+ server.address().port);
})

我在根目录中有索引SignUp SignIn和Dashboard HTML页面。我有上面代码中评论的问题,请让我知道这些事情对我来说可能吗??

回答您的问题:

  1. 使用模板。从现有html中实现这一点的最简单方法可能是使用ejs(首先在项目根目录中使用npm install ejs)。示例:

    • app.js:

      app.set('view engine', 'ejs');
      // ...
      app.get('/frmSignUp', function(request, response) {
        users.push({
          userName: request.query["userName"],
          password: request.query["password"],
          email: request.query["email"]
        });
        response.render('dashboard.ejs', { users: users });
      });
      
    • dashboard.ejs

      <html>
        <head>
          <title>Dashboard</title>
        </head>
        <body>
          <h1>Users</h1>
          <ul>
          <% users.forEach(function(user) { %>
            <li><%= user.userName %></li>
          <% }); %>
          </ul>
        </body>
      </html>
      
  2. 由于您有一个对象数组,并且要根据userName字符串进行检查,因此需要手动循环users数组并比较userName s。