Node.js 如何将数据获取到ejs文件?
我使用名为“users”的全局数组来存储用户的姓名、密码和城市。当一个新用户注册时,它获取该用户的名称和密码,并将其推送到数组“users”中。成功注册后,用户被重定向到详细信息页面,再次进入城市并提交表单。再次将用户重定向到新页面,其中将显示用户的姓名和城市。我正在获取用户的名称,但城市未定义 以下是我的server.js代码:Node.js 如何将数据获取到ejs文件?,node.js,ejs,Node.js,Ejs,我使用名为“users”的全局数组来存储用户的姓名、密码和城市。当一个新用户注册时,它获取该用户的名称和密码,并将其推送到数组“users”中。成功注册后,用户被重定向到详细信息页面,再次进入城市并提交表单。再次将用户重定向到新页面,其中将显示用户的姓名和城市。我正在获取用户的名称,但城市未定义 以下是我的server.js代码: var users = [] app.get('/',checkAuthenticated, (req, res)=>{ res.render
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>
在node.js中,
Class
被视为程序中任何实际类的默认对象。因此,当节点标记器(帮助您的代码被视为机器代码的东西)出现并用大写字母c查看类时,它会认为您非常奇怪地试图定义一个类。我建议将该变量重命名为不会有太多冲突的变量。即使只是把名字改成小写也可以解决你的问题 在node.js中,类
被视为程序中任何实际类的默认对象。因此,当节点标记器(帮助您的代码被视为机器代码的东西)出现并用大写字母c查看类时,它会认为您非常奇怪地试图定义一个类。我建议将该变量重命名为不会有太多冲突的变量。即使只是把名字改成小写也可以解决你的问题 为了获得更多信息,我添加了控制台输出,并将“Class”改为“city”,但仍然面临同样的问题@Shronkin用户,看起来city在数组中是一个完全独立的成员,这有什么原因吗?我添加了控制台输出以获取更多信息,并将“Class”更改为“city”,但仍然面临同样的问题@Shronkin用户,看起来city是阵列中一个完全独立的成员,这有什么原因吗?
[ {
name: 'lilly',
password:
'$2b$10$NejINmFcHYLWaxe1xqb.BuojaWyVFQWeNC.FCHskrTMelNow1TS3G' },
{ city: 'xyz'} ]