gpt4 book ai didi

node.js - 如何获取数据到ejs文件?

转载 作者:太空宇宙 更新时间:2023-11-04 01:20:43 32 4
gpt4 key购买 nike

我正在使用名为“users”的全局数组来存储用户的名称、密码和城市。当新用户注册时,它会获取用户的名称和密码并将其推送到数组“users”中。成功注册后,用户将被重定向到详细信息页面,用户再次输入城市并提交表格。用户再次被重定向到新页面,其中将显示用户的姓名和城市。我正在获取用户名,但城市未定义。

这是我的 server.js 代码:

    var users = []
app.get('/',checkAuthenticated, (req, res)=>{
res.render("index.ejs",
{ name: req.user.name,
city: req.user.city
});
console.log(users);
})
app.post('/register', checkNotAuthenticated, async (req, res)=>{
try{
const hashedPassword =await bcrypt.hash(req.body.password, 10)
users.push({
name:req.body.name,
password:hashedPassword
})
res.redirect('/details')
} catch{
res.redirect('/register')
}
})

app.post('/details',checkAuthenticated, (req, res)=>{
try{
users.push({
city: req.body.city,
})
res.redirect('/')
} catch{
res.redirect('/details')
}
})

这是我的index.ejs代码:

 <h1>Hi <%= name %></h1>
<h1>city: <%= city%></h1>

在我的控制台输出中,我得到的“用户”为:

  [ { 
name: 'lilly',
password:
'$2b$10$NejINmFcHYLWaxe1xqb.BuojaWyVFQWeNC.FCHskrTMelNow1TS3G' },
{ city: 'xyz'} ]

最佳答案

在node.js中,Class被视为程序中任何实际的默认对象。因此,当 Node 分词器(帮助您的代码被视为机器代码的东西)出现并查看带有大写 c 的 Class 时,它会将其视为您极其奇怪地尝试定义一个类。我建议将该变量重命名为不会产生太大冲突的名称。即使只是将名称设置为小写也可能会解决您的问题。

关于node.js - 如何获取数据到ejs文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59394486/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com