【问题标题】:Sails JS how to trigger action after automatic route POSTSails JS如何在自动路由POST后触发动作
【发布时间】:2016-09-14 01:25:44
【问题描述】:

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

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

我知道我可以使用自己的路线,但我想使用 Sails 自动为我做的事情,所以我不想为该帖子添加路线并自己做所有事情,而是想用 Sails 插入然后做其他事情.

谢谢!

【问题讨论】:

  • 你能分享一些代码来详细说明你打算做什么吗?

标签: javascript node.js sails.js


【解决方案1】:

现在,我想在默认蓝图完成后触发一个动作 触发。例如,如果我请求 example.com/user 并发送它 使用 POST,我希望蓝图路由将信息插入数据库 然后做一些其他的动作,我该怎么做?

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

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
  }
};

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

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

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

【讨论】:

  • 这是我收到的关于问题的最佳答案之一,谢谢! Lifecycle 回调正是我想要的。
猜你喜欢
  • 2014-12-25
  • 2016-06-03
  • 2015-05-12
  • 1970-01-01
  • 2021-07-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多