Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 引用错误:D:\nodejs\crud\views\employee\list.ejs:21_Node.js_Ejs_Node Modules - Fatal编程技术网

Node.js 引用错误:D:\nodejs\crud\views\employee\list.ejs:21

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>

您好,我尝试使用ejs作为视图引擎从数据库(MongoDB)获取数据,但显示错误:

该项研究的目的是:21

list.ejs:

<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>
  <% }) %>
  <% } %>