gpt4 book ai didi

node.js - res.render 之后加载 ejs 文件时未定义holedata

转载 作者:太空宇宙 更新时间:2023-11-04 02:07:24 25 4
gpt4 key购买 nike

我将数据插入到mongodb中,然后页面渲染到success.ejs。在 success.ejs 文件中,我给出了一个链接。当单击同一个 success.js 文件中的链接时,数据应该从 mongodb 获取并显示在同一个 success.ejs 文件中。但在加载 success.ejs 文件之前,在控制台中发布数据后,显示holedata is not Defined 错误消息。

index.js 文件中我的帖子数据部分

app.post('/signingin', function(req, res) {
var item = {
name: req.body.name,
title: req.body.title,
age: req.body.age
};
mongo.connect(url, function(err, db){
assert.equal(null, err);
db.collection('satyamsoft').insertOne(item, function(err, result){
assert.equal(null, err);
console.log('item inserted');
db.close();
});
});
res.render('pages/success');
//console.log(req.body);
});

我的 success.ejs 页面

!DOCTYPE html>
<html lang="en">

<% include ../partials/head %>
<title>Post Jobs | Spyeer</title>
<body>

<% include ../partials/nav %>
<section class="get">
<h2>Data Inserted</h2>
<a href="/getdata">Get Data</a>
<div>
<ul>
<% holedata.forEach(function(data) { %>
<li><%= data.this.name %> - <%= data.this.title %> - <%= data.this.age %></li>
<% }); %>
</ul>
</div>
</section>

<% include ../partials/footer %>

<% include ../partials/scripts %>

</body>
</html>

获取index.js文件中的部分代码

app.get('/getdata', function(req, res){
var resultArray = [];
mongo.connect(url, function(err, db){
assert.equal(null, err);
var cursor = db.collection('satyamsoft').find();
cursor.forEach(function(doc, err){
assert.equal(null, err);
resultArray.push(doc);
//console.log(resultArray);
//res.render('pages/getdata', {holedata: resultArray});
}, function(){
db.close();
res.render('pages/success', {holedata: resultArray});
});

请帮助我提前谢谢。

最佳答案

您只需要在每次页面渲染时检查 holedata 是否为空或带有类似数据,而不是 res.render('pages/success'); 您应该编写 res.render('pages/success', {holedata: [] });

关于node.js - res.render 之后加载 ejs 文件时未定义holedata,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43703265/

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