我可以'我没有成功地链接我的路由处理程序
I can't successfully chain my route handlers?
我正在开发一个node.js/express应用程序,并且路由看起来像-
app.post('/user/:who/update', isLoggedIn, userUpdate.save);
在userUpdate.save内部,我正在调用res.redirect
或res.render
(不同的路由,但想法相同)。我不喜欢这样。我想把我的res.*调用保存在routes.js中,但当我尝试这个时
app.post('/user/:who/update', isLoggedIn, userUpdate.save, function(req, res) {
res.redirect('/user/'+req.user.local.username);
});
在userUpdate.save
结束时调用next(req, res)
,则不会调用res.redirect
函数。我认为next()
是什么,似乎并不是它实际的样子。我错过了什么?
对next()
的调用将绕过其余的回调。
参见本参考文件http://expressjs.com/api.html#app.post.method
看看这个例子,交替地注释掉每个next()
调用(然后是两个),并观察执行的流程。
var express = require('express');
var app = express();
app.get('/test', function(req, res, next){
console.log('/test callback1');
next('route');
//next();
}, function(res, res, next){
console.log('/test callback2');
res.send('sent from /test/cb2')
});
app.get('/test', function(req, res){
console.log('response from /test route handler 2');
res.send('sent from /test route handler 2');
})
var server = app.listen(8911, function (s) {
console.log('Listening on port ', server.address().port);
});
相关文章:
- 我的下拉菜单中的链接不起作用
- 我的链接按钮的OnClick事件永远不会被触发
- 值更改我的链接而不更新
- 使浏览器为我的链接添加书签
- 为什么我的链接不会触发jQuery.click事件
- 为什么我的JS为我的链接添加前缀(localhost:3000 / mylink)
- 文本框使用 if else 语句打开我的链接 JavaScript
- Tumblr将新代码注入我的链接中
- Javascript函数正在删除我的链接中的属性
- 如何在外部域名中查找我的链接
- 为什么我的链接处于不同的高度
- 如何让我的链接打开“弹出窗口”
- 如何将我的链接获取到变量中
- 我应该在哪里添加JS事件,使我的链接工作
- 为什么我的链接没有在我的网页的移动版本遵循
- 当我点击我的链接时,我调用我的对话框,但对话框没有出现
- 为什么告诉jQuery点击我的链接按钮会减慢我的页面速度?
- 如何使我的工具提示出现在我的链接下面,即使我的链接在页面的底部
- 我的链接使用 jquery 无法正常工作
- 如何使我的链接打开菜单与列表项的id,我想要访问