gpt4 book ai didi

javascript - Node : Pass array and display the values on html page

转载 作者:搜寻专家 更新时间:2023-10-31 23:17:03 26 4
gpt4 key购买 nike

我写了下面的代码来使用 mongoose 从 mongodb 读取值并将其存储在数组中:

app.get('/StudentQuestionsPage',function(req,res){
var allQuestionsArray = studentQuestions.find();
var questions = [];
allQuestionsArray.exec(function(err,questions){
if(err)
return cosole.log(err);
questions.forEach(function(question){
var elem = new Object();
elem["id"] = question.id;
elem["quesStatement"] = question.quesStatement;
elem["optionA"]=question.optionA;
elem["optionB"]=question.optionB;
elem["optionC"]=question.optionC;
elem["optionD"]=question.optionD;

questions.push(elem);
console.log(elem)
});
});
res.render(__dirname + '/StudentQuestionsPage.html',{questions:questions});
});

我必须将这一系列问题传递到一个 html 文件,然后我必须在 HTML 上显示内容。

我写了下面的代码来在 HTML 上显示数组值,但它没有显示任何内容。 “console.log(elem)”可以在控制台上打印值。

<html>
<head>
<title>Online Examination Portal</title>
<h1>Questions</h1>
</head>
<body>
<div>
<form>
<h2>Questions</h2>
<ul>
<% questions.forEach(function(question) { %>
<li>Number: <%= question.id %> <br/> Text: <%= question.quesStatement %></li>
<% }); %>
</ul>
</form>
</div>
</body>
</html>

请告诉我如何从 nodejs 传递值并检索并在 html 上显示它。

最佳答案

首先,将您的 questions 数组重命名为 allQuestions 或除 questions 之外的任何名称。您的 .exec 的 成功函数的参数名称与数组相同。因此,它将覆盖数组变量。由于 allQuestionsArray.exec 是一个 async 函数,您应该从 success 函数传递 allQuestions 数组。重写你的代码如下...

app.get('/StudentQuestionsPage',function(req,res){
var allQuestionsArray = studentQuestions.find();
var allQuestions = [];
allQuestionsArray.exec(function(err,questions){
if(err)
return console.log(err);
questions.forEach(function(question){
var elem = new Object();
elem["id"] = question.id;
elem["quesStatement"] = question.quesStatement;
elem["optionA"]=question.optionA;
elem["optionB"]=question.optionB;
elem["optionC"]=question.optionC;
elem["optionD"]=question.optionD;

allQuestions.push(elem);
console.log(elem)
});
res.render(__dirname + '/StudentQuestionsPage.html',{questions:allQuestions});
});
});

关于javascript - Node : Pass array and display the values on html page,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34611052/

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