验证后恢复参数
recovering parameters after validation
-
我使用"router.get"来捕获所有与/user/read/:user_id 匹配的传入请求
-
在"router.param"中,我用属性名称和年龄定义了一个新对象"user"
-
然后在"router.get"中,我使用req.res.user.name恢复该用户对象,以将用户名作为响应发送回。
根据本教程,我应该能够使用req.user.name。但它不起作用,所以我使用了req.res.user.name
这是我的问题:
我的"req"对象中的"res"对象是恢复用户的正确位置吗?换句话说,我错了还是教程错了?
// route middleware to validate :id
router.param('user_id', function(res, req, next, user_id) {
// validation on id
var user = {
'name': 'Bob',
'age' : '3'
};
req.user = user;
next();
});
router.get('/user/read/:user_id', function(req, res) {
res.send({'user' : req.res.user.name});
});
更新:
我使用的是快递4.10.x
您的想法是正确的,但回调中的args是向后的。
router.param('user_id', function(res, req, next, user_id) {
应该是
router.param('user_id', function(req, res, next, user_id) {
混淆的结果是,您将取出的用户对象设置在response
对象上,而不是request
对象上。
相关文章:
- 函数参数中的数据与指定变量之间的任何性能差异
- 使用Express捕获参数
- 参数变量出现ngTable指令问题
- AngularJS:我可以跳过函数参数回调吗
- 如何使用skip参数使用angular ui引导进行服务器端分页
- 要求未定义JS回调参数
- 我的jQuery插件参数没有正确启动,遇到了问题
- 获取@ResponseBody的一部分作为主干和Spring MVC控制器之间的参数
- 为什么不是't窗口.恢复正常工作吗?(javascript/jquery)
- jquery设置为使用参数运行
- Javascript”;类“;带有参数的扩展
- 如何临时暂停浏览器渲染,然后恢复整个页面
- 为什么grunt contrib connect的中间件选项的第三个参数是未定义的
- 函数未将值作为参数传递
- 如何将参数传递到angularJs中的工厂
- JS:检查URL中的参数,然后迭代一个参数为var的函数
- 正在传递JSONP标头's数据参数到另一个文件中的AJAX请求
- NodeJS-readline暂停和恢复事件发射器(逐行读取)
- MVC 3页面导航和使用javascript传递参数
- 验证后恢复参数