Node.js 如何使用ejs中两次传递的数据
我正在用node js做一个项目,我需要在一个ejs文件中显示我从数据库中获取的一些数据。第二次尝试显示数据时,它是空的(我正在使用的数据列表有空字段)。我怎么做 ejs文件中我多次使用数据的部分:Node.js 如何使用ejs中两次传递的数据,node.js,ejs,Node.js,Ejs,我正在用node js做一个项目,我需要在一个ejs文件中显示我从数据库中获取的一些数据。第二次尝试显示数据时,它是空的(我正在使用的数据列表有空字段)。我怎么做 ejs文件中我多次使用数据的部分: <body> <%- include('../partials/navbarHorizontal.ejs') %> <div class="container justify-content-center my-4"> <div c
<body>
<%- include('../partials/navbarHorizontal.ejs') %>
<div class="container justify-content-center my-4">
<div class="row shadow-sm my-4">
<div class="col m-4">
<form action="/dekanat" method="POST">
<div>Përditësoni dekanatin</div>
<div class="row">
<div class="row">
<label class="small gray" for="dekan">Dekani</label>
<div>
<input list="dekan_list" name="dekan" id="dekan" class="inputText"/>
<datalist id="dekan_list">
//The first time i use the data
<%pedagoge.forEach(element => {%>
<option
value="<%=element.emer_ped%> <%=element.mbiemer_ped%>"
data-id="<%=element.id_ped%>"
></option>
<%});%>
</datalist>
</div>
</div>
<div class="col">
<label class="small gray" for="zvDek1">Zv. Dekani</label>
<div>
<input list="zvDek1_list" name="zvDek1" id="zvDek1" class="inputText" />
<datalist id="zvDek1_list">
//The second time i use the data
<% pedagoge.forEach(element =>{%>
<option
value="<%element.emer_ped%> <%element.mbiemer_ped%>"
data-id="<%element.id_ped%>"
></option>
<%});%>
</datalist>
</div>
</div>
<div class="col">
<label class="small gray" for="zvDek2">Zv. Dekani</label>
<div>
<input list="zvDek2_list" name="zvDek2" id="zvDek2" class="inputText"/>
<datalist id="zvDek2_list">
//The third time i use the data
<% pedagoge.forEach(element =>{%>
<option
value="<%element.emer_ped%> <%element.mbiemer_ped%>"
data-id="<%element.id_ped%>"
></option>
<%});%>
</datalist>
</div>
</div>
</div>
<div class="row mt-3 text-center">
<div class="col-4">
<input type="submit" value="Ruaj" class="rounded-pill buton" id="saveDek" />
</div>
<div class="col-4">
<input type="reset" value="Fshi" class="rounded-pill buton" id="fshi"/>
</div>
</div>
</form>
</div>
</div>
</div>
我知道它是非常嵌套的,但是我对NodeJS是新手,我不知道如何做
生成的html代码:
<div class="row shadow-sm my-4">
<div class="col m-4">
<form action="/dekanat" method="POST">
<div>Përditësoni dekanatin</div>
<div class="row">
<div class="row">
<label class="small gray" for="dekan">Dekani</label>
<div>
<input list="dekan_list" name="dekan" id="dekan" class="inputText"/>
//The first time
<datalist id="dekan_list">
<option value="John Doe" data-id="1" ></option>
<option value="John Doe2" data-id="2" ></option>
</datalist>
</div>
</div>
<div class="col">
<label class="small gray" for="zvDek1">Zv. Dekani</label>
<div>
<input list="zvDek1_list" name="zvDek1" id="zvDek1" class="inputText" />
//The second time
<datalist id="zvDek1_list">
<option value=" " data-id="" ></option>
<option value=" " data-id="" ></option>
</datalist>
</div>
</div>
<div class="col">
<label class="small gray" for="zvDek2">Zv. Dekani</label>
<div>
<input list="zvDek2_list" name="zvDek2" id="zvDek2" class="inputText" />
//The third time
<datalist id="zvDek2_list">
<option value=" " data-id="" ></option>
<option value=" " data-id="" ></option>
</datalist>
</div>
</div>
</div>
佩尔迪特·索尼·德卡纳廷
德卡尼
//第一次
Zv。德卡尼
//第二次
Zv。德卡尼
//第三次
您的第一个示例显示以下语法:
value="<%=element.emer_ped%> <%=element.mbiemer_ped%>"
value=“”
您的第二个和第三个使用的语法略有不同:
value="<%element.emer_ped%> <%element.mbiemer_ped%>"
^ ^
value=“”
^ ^
注意,
^
指向的地方缺少=
。我个人不知道ejs语法,但这似乎是有效版本和无效版本之间的一个区别。请显示整个模板,并指出转换为HTML时哪个部分是空的。模板本身不会删除传入的数据。另外,请在呈现模板时显示传递到模板的确切数据。如果用户第二次希望在数据列表中显示“我的选项”的值,则该值为空。当我按下输入时,它显示与第一次相同数量的选项,但没有值。我的代码在两种情况下都是一样的。你说的“第二次”是什么意思?此数据在同一模板中是否有两次出现?还是从头开始多次渲染模板?在我的第一个评论中,我要求你在你的问题中添加一些额外的信息-这些信息将帮助我们回答。我想在我渲染的ejs文件中多次使用我从数据库中获取的数据。具体来说,在我的例子中,我提出了4个查询,其中一个是问题中显示的数据。我想在同一个ejs文件中再次使用这些数据来再次显示人员列表。我将更新我的问题,以包括在我的文件中传递的数据。引用模板中的数据不会造成破坏,因此这些数据仍将在模板中用于第二次使用,除非您在某个地方做错了什么。请阅读我的第一条评论。我要求您显示更多信息—整个模板和准备数据并调用res.render()
的代码。如果你不打算这样做,那么我将继续前进,帮助其他人,因为对于你现在的问题中的信息,我已经没有更多的事情要做了。我解决了我的问题!非常感谢你!
value="<%element.emer_ped%> <%element.mbiemer_ped%>"
^ ^