【发布时间】:2016-12-30 20:13:50
【问题描述】:
在我的 Express 应用程序中,我尝试在运行时动态添加新定义的路由。这是我的代码:
app.post('/new-user', function(req,res){
var temp = { name: "joe-bloggs", age: 20 };
users.push(temp); // users is a global variable defined earlier
var path = '/' + temp.name;
app.get(path, function(req,res){
res.send('Welcome to localhost:3000/joe-bloggs');
});
});
所以现在如果用户尝试访问 localhost:3000/joe-bloggs,他们将看到欢迎消息,但是我不断收到 404 not found 因为 express 告诉我路由尚未定义.
【问题讨论】:
-
听起来你想要的是参数。
/:username -
它不起作用的原因是因为您在错误之后定义了路由并且定义了404处理程序,所以它从未到达。如果您改为在路由器上定义它,它会工作,直到应用程序重新启动。 params 当然以正确的方式解决了这两个问题。
标签: javascript node.js express