Node.js 引用错误:D:\nodejs\crud\views\employee\list.ejs:21
您好,我尝试使用ejs作为视图引擎从数据库(MongoDB)获取数据,但显示错误: 该项研究的目的是:21 list.ejs:Node.js 引用错误:D:\nodejs\crud\views\employee\list.ejs:21,node.js,ejs,node-modules,Node.js,Ejs,Node Modules,您好,我尝试使用ejs作为视图引擎从数据库(MongoDB)获取数据,但显示错误: 该项研究的目的是:21 list.ejs: <tbody> <% employees.forEach(function (employees) { %> <tr> <td><%= employees.fullname %></td> <td><%= employees.email %></td>
<tbody>
<% employees.forEach(function (employees) { %>
<tr>
<td><%= employees.fullname %></td>
<td><%= employees.email %></td>
<td><%= employees.mobile %></td>
<td><%= employees.city %></td>
<td>
<a href="/show" class="btn btn-outline-info my-2 my-sm-0">Show</a>
<a href="/edit" class="btn btn-outline-warning my-2 my-sm-0">Edit</a>
<a href="" class="btn btn-outline-danger my-2 my-sm-0">Delete</a>
</td>
</tr>
<% }) %>
employeeController.js:
const express = require('express');
var router = express.Router();
const mongoose = require('mongoose');
const Employee = mongoose.model('Employee');
router.get('/',(req, res) => {
res.render("employee/addOrEdit");
});
router.post('/',(req, res) => {
insertRecord(req, res);
});
function insertRecord(req, res) {
var employee = new Employee();
employee.fullName = req.body.fullname;
employee.email = req.body.email;
employee.mobile = req.body.mobile;
employee.city = req.body.city;
employee.save((err, doc) => {
if (!err)
res.redirect('employee/list');
else {
console.log('Error during record insertions : ' + err);
}
});
}
router.get('/list', (req, res) => {
Employee.find((err, docs) => {
if (!err) {
res.render("employee/list", {
list: docs
});
} else {
console.log('Error in retrieving employee list :' + err);
}
});
});
module.exports = router;
您能否共享它的节点js服务器端代码,从那里发送
res.render(“列表”)代码>。如果检查您是否从服务器端发送员工
,会更有帮助
另外,请确保您正在向视图发送员工
信息,如下所示:
res.render(“列表”{employeeData});
您是否可以共享它的节点js服务器端代码,从那里发送res.render(“列表”)代码>。如果检查您是否从服务器端发送员工
,会更有帮助
另外,请确保您正在向视图发送员工
信息,如下所示:
res.render(“列表”{employeeData});
一些会产生问题的场景:-
1.您正在从服务器传递另一个值。如果是这样,那么您需要更改res.render(“list”{employeeData})代码>
2.如果(employeeData){
<% if (employeeData) { %>
<tbody>
<% employees.forEach(function (employees) { %>
<tr>
<td><%= employees.fullname %></td>
<td><%= employees.email %></td>
<td><%= employees.mobile %></td>
<td><%= employees.city %></td>
<td>
<a href="/show" class="btn btn-outline-info my-2 my-sm-0">Show</a>
<a href="/edit" class="btn btn-outline-warning my-2 my-sm-0">Edit</a>
<a href="" class="btn btn-outline-danger my-2 my-sm-0">Delete</a>
</td>
</tr>
<% }) %>
<% } %>
注意:-因为我不知道我从场景中给出的解决方案的代码。一些会产生问题的场景:-
1.您正在从服务器传递另一个值。如果是这样,则需要更改res.render(“list”,{employeeData});
2.如果(employeeData){
<% if (employeeData) { %>
<tbody>
<% employees.forEach(function (employees) { %>
<tr>
<td><%= employees.fullname %></td>
<td><%= employees.email %></td>
<td><%= employees.mobile %></td>
<td><%= employees.city %></td>
<td>
<a href="/show" class="btn btn-outline-info my-2 my-sm-0">Show</a>
<a href="/edit" class="btn btn-outline-warning my-2 my-sm-0">Edit</a>
<a href="" class="btn btn-outline-danger my-2 my-sm-0">Delete</a>
</td>
</tr>
<% }) %>
<% } %>
注意:-因为我不知道我从场景中给出的解决方案的代码。@dev感谢您更新这个问题,我只是想知道您是否正在呈现名为res.render(“employee/list”,“list:docs})的正确EJ
并且您似乎在发送名为list的变量中的值,而不是employeesReferenceError:employeeData未定义,router.get('/list',(req,res)=>{Employee.find((err,docs)=>{if(!err){res render('list',{employees:employeeData});}else{console.log('检索员工列表时出错:'+err}59this@dev您正在名为docs
的变量中获取员工数据。您需要做的是。router.get('/list',(req,res)=>{employee.find((err,docs)=>{if(!err){res.render('list',{employees:docs});}else{console.log('retrieving employee list:'+err});}
错误:无法在视图目录“D:\nodejs\crud\views”@dev中查找视图“list”,您可以将其更改为,router.get('/list',(req,res)=>{Employee.find((err,docs)=>{if(!err){res render(“Employee/list”,“{employees:docs});}else{console.log('检索员工列表时出错:'+err);});
@dev感谢您更新这个问题,我只是想知道您是否正在渲染名为res.render(“employee/list”,“list:docs}”)的正确EJ;
并且您似乎正在发送名为list的变量中的值,而不是employeereferenceError:employeeData未定义,router.get('/list',(req,res)=>{Employee.find((err,docs)=>{if(!err){res.render(“list”{employeeData});}else{console.log('retrieving Employee list:'+err);});});通过更改this@dev您正在名为docs
的变量中获取员工数据。您需要做的是。router.get('/list',(req,res)=>{Employee.find((err,docs)=>{if(!err){res.render(“list”,{employees:docs});}else{console.log('检索员工列表时出错:'+err);}});
错误:无法在视图目录“D:\nodejs crud views”@dev{Employee.find((err,docs)=>{if(!err){res.render(“Employee/list”),{Employee:docs});}else{console.log('检索Employee list时出错:'+err);})
ReferenceError:employeeData未定义,router.get('/list',(req,res)=>{Employee.find((err,docs)=>{if(!err){res res render(“list”,{employees:employeeData})});}else{console.log('Error in retrieving employee list:'+err);}}}}};});通过像这样更改t OK@Dev,第二个场景将处理客户端,而您的场景将处理服务器端…我们还没有看到您的服务器端代码…很高兴您得到了答案。:-)引用错误:employeeData未定义,router.get('/list',(req,res)=>{Employee.find((err,docs)=>{if(!err){res.render(“list”{employeeData});}else{console.log('检索员工列表时出错:'+err);}});});通过像这样更改t OK@Dev,第二个场景将处理客户端,而您的场景将处理服务器端…我们还没有看到您的服务器端代码…很高兴您得到了答案。:-)
<% if (employeeData) { %>
<tbody>
<% employees.forEach(function (employees) { %>
<tr>
<td><%= employees.fullname %></td>
<td><%= employees.email %></td>
<td><%= employees.mobile %></td>
<td><%= employees.city %></td>
<td>
<a href="/show" class="btn btn-outline-info my-2 my-sm-0">Show</a>
<a href="/edit" class="btn btn-outline-warning my-2 my-sm-0">Edit</a>
<a href="" class="btn btn-outline-danger my-2 my-sm-0">Delete</a>
</td>
</tr>
<% }) %>
<% } %>