javascript - Sails JS如何在自动路由POST后触发操作

标签 javascript node.js sails.js

我有一个使用 Sails 运行的应用程序,并且我使用了很多 POST、GET、PUT、DELETE 的蓝图,它们工作得很好。

现在,我想在触发默认蓝图后触发一个操作。例如,如果我请求 example.com/user 并通过 POST 发送该请求,我希望蓝图路由将信息插入数据库中,然后执行其他操作,我该怎么做?使用蓝图(非常棒),然后触发一些其他操作,然后返回。

我知道我可以使用自己的路线,但我想使用 Sails 自动为我执行的操作,因此我不想为该帖子添加路线并自己完成所有操作,而是想使用 Sails 插入,然后执行其他操作.

谢谢!

最佳答案

Now, I want to trigger an action AFTER a default blueprint is triggered. For example if I request example.com/user and send that with POST, I want that the blueprint route inserts the info in the DB and then do some other action, how can I do that?

Lifecycle callbacks旨在解决此类问题。它们是在某些模型操作之前或之后自动调用的函数。例如。 使用更新后

module.exports = {
  attributes: {
    username: {
      type: 'string',
      required: true
    },
    password: {
      type: 'string',
      minLength: 6,
      required: true,
      columnName: 'hashed_password'
    }
  },
  // Lifecycle Callbacks
  afterUpdate: function (values, cb) {
      // notify user about updated profile
  }
};

当您需要更大的灵 active 时,您必须像这样创建模型操作

update: function(req, res) {
  User.update(req.body).exec(function(err, result){
    if (err) {
      // ups
    }
    return res.redirect('/something-after')
  });
}

您可以通过简单地重定向到另一个操作来调用它。

关于javascript - Sails JS如何在自动路由POST后触发操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39481192/

相关文章:

node.js - 使用aws lambda node js获取存储在s3存储桶中的视频的视频元数据

node.js - 将 node_acl 与 sails 集成的最佳方式是什么

javascript - Ember.js:如何访问嵌套 View 实例

javascript - X 的时间未按预期工作 moment.js

javascript - 带有 Sequelize 的 Node.js 数据库模块

sails.js - 当 Controller 为空时,Sails JS 如何创建生成的实体?

javascript - Sails 套接字不会重新连接

javascript - 如何在 sails.js 模型中使用数组属性

javascript - jQuery/HTML - 在使用等宽字体时,如何使空格 ( ) 占用与另一个字符相同的空间量?

javascript - MapReduce 函数 MongoDB NodeJs