【问题标题】:Sails.js error issue while deleting any record删除任何记录时出现 Sails.js 错误问题
【发布时间】:2015-10-25 13:47:11
【问题描述】:

我是sails js的新手,这里我按照一个教程使用sails js和mongodb创建crud。

但在删除任何记录时出现 500 内部服务器错误 控制台错误

"NetworkError: 500 Internal Server Error - http://localhost:1337/user/delete/55bf315ee3437a512628916b"

这是我的控制器文件删除功能:

 delete: function(req, res) {  

    var id=req.param("id",null);

      User.findOne(id).done(function(err, user) {

    // we now have a model with instance methods attached

    // destroy the record
    user.destroy(function(err) {

      res.redirect( 'user/index/');

      // record has been removed
    });

  });
  }

这是我的看法

<a href="/user/create">+Create</a>
<ol>
<% users.forEach( function( model ){ %>
  <li><%= model.name %>(<a href="/user/delete/<%= model.id %>">delete</a>||<a href="/user/update/<%= model.id %>">Update</a>||<a href="/user/view/<%=model.id %>">view</a>)</li>
<% }); %>
</ol>

// 这是我的路由文件

module.exports.routes = {

  '/': {
    view: 'homepage'
  },
  'post/User':{
    view: 'user/create'
  }


};

请指导我,我不知道我在哪里做错了。

提前致谢

【问题讨论】:

    标签: javascript angularjs node.js mongodb sails.js


    【解决方案1】:

    我已经修复了这个错误,因为我正在使用它来了

        User.findOne(id).done(function(err, user) {
          ..
        }
    

    安装了这个:

     User.findOne(id).exec(function(err, user) {
      ..             ^^^^^^
     }
    

    【讨论】:

      【解决方案2】:

      我认为错误可能出在 res.redirect 中, 你应该把它放在destroy()函数之外。

      删除:函数(req, res) {

      var id=req.param("id",null);
      
        User.findOne(id).done(function(err, user) {
      
      // we now have a model with instance methods attached
      
      // destroy the record
      user.destroy(function(err) {
      
        if (err) return
      
      });
      res.redirect( 'user/index/');
      

      }); }

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-11-03
        • 2012-07-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多