Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/475.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
Javascript 在beforeCreate中访问请求标头_Javascript_Node.js_Sails.js - Fatal编程技术网

Javascript 在beforeCreate中访问请求标头

Javascript 在beforeCreate中访问请求标头,javascript,node.js,sails.js,Javascript,Node.js,Sails.js,我需要获取一些标题“用户代理”以及IP地址,您如何在创建之前从中获取这些标题?假设Sails 0.10,我认为仅通过挖掘水线源代码在创建之前的中是不可能的 另一种方法可能是使用一些中间件,将您需要的任何信息附加到主体上,以便在创建之前在中可用,然后在调用next()之前将其删除,这样就不会导致模型验证失败。假设Sails 0.10,我不认为仅仅通过挖掘水线源代码就可以在beforeCreate中实现这一点 另一种方法可能是使用一些中间件,将您需要的任何信息附加到主体中,以便在创建之前在中可用,然

我需要获取一些标题“用户代理”以及IP地址,您如何在创建之前从中获取这些标题?

假设Sails 0.10,我认为仅通过挖掘水线源代码在创建之前的
中是不可能的


另一种方法可能是使用一些中间件,将您需要的任何信息附加到主体上,以便在创建之前在
中可用,然后在调用
next()
之前将其删除,这样就不会导致模型验证失败。

假设Sails 0.10,我不认为仅仅通过挖掘水线源代码就可以在
beforeCreate
中实现这一点


另一种方法可能是使用一些中间件,将您需要的任何信息附加到主体中,以便在创建之前在
中可用,然后在调用
next()
之前将其删除,这样就不会导致模型验证失败。

req对象在waterline中不可用。所以下一个问题是你是否使用蓝图

如果是的话,那么你可以像forrestranger建议的那样,但我认为它更适合于一项政策,而不是让中间件过于复杂化

这是一个示例,我在每个查询中检查companyId

// policy.js
module.exports = function(req, res, next) {
    req.options.where = _.assign({companyId : req.session.user.company.id}, req.options.where);
    req.query.companyId = req.session.user.companyId;
    return next();
};
如果没有,那么在控制器中运行自己的create语句时只需附加必要的信息


我会在beforeCreate中添加一个检查,确保这些字段以自检的形式出现。

req对象在waterline中不可用。所以下一个问题是你是否使用蓝图

如果是的话,那么你可以像forrestranger建议的那样,但我认为它更适合于一项政策,而不是让中间件过于复杂化

这是一个示例,我在每个查询中检查companyId

// policy.js
module.exports = function(req, res, next) {
    req.options.where = _.assign({companyId : req.session.user.company.id}, req.options.where);
    req.query.companyId = req.session.user.companyId;
    return next();
};
如果没有,那么在控制器中运行自己的create语句时只需附加必要的信息

我会在beforeCreate中添加一个检查,以确保这些字段作为一种自检形式存在