在url中使用params时出现404页面
404 page when using params in url
在文件的末尾,我有
app.use(function(req,res){
res.render('404.jade');
});
这适用于www.website/wongpath,但在我的中
app.get('/path/:id', function(req, res){}
它根本不起作用,而且当您编写一个错误的id(如/path/23187123)时,它会破坏节点服务器。我试过做一些类似的事情:
function checkifexists(){
var checktime = connection.query('SELECT * FROM table WHERE id = ?', [globalid], function(err, results, rows){
if(results.length == 0){
//console.log("0");
return true;
}
return false;
});
}
if(checkifexists()){return;}
检查id是否存在,然后取消请求,但这也不起作用。我怎样才能让它与404页面一起工作?
当next()
不知道如何处理特定请求时,请在路由中使用它。在您的情况下,如果table
表上没有记录,它应该将请求传递给与该请求匹配的下一个处理程序,该处理程序可能是您的404
。
app.get('/path/:id', function(req, res, next){
connection.query('SELECT * FROM table WHERE id = ?', [globalid], function(err, results, rows){
if(results.length == 0){
next();
return;
}
//do something with rows
//res.render('view.jade')
});
}
您可以使用next()
将请求的处理传递给其他中间件:
app.get('/path/:id', function(req, res, next){
//say if id is too big, don't handle it in this controller
if(req.params.id > 10000) {
next();
return;
}
//other code
})
//- so we go further down
//here comes the error display
app.use(function(req,res){
res.render('404.jade');
});
相关文章:
- 使用FlipClock js的404页面计数器效果
- 在url中使用params时出现404页面
- 正在获取stream_url的404页面.所有权限都已设置
- 如何转移404页面进行搜索
- 如何通知GoogleBot有关Angular SPA中的404页面
- 找不到拉拉维尔 Ajax 404 页面
- 是否有可能提供诸如 404 页面错误之类的信息,用于禁用 JavaScript
- AngularJS:当数据未加载时,将模板URL替换为404页面URL
- 角度拦截器路由到404页面
- PHP ajax进程404页面在完成进程之前未发现错误
- 找不到状态时UI路由器附加程序和未来状态的404页面
- 如果用户想访问特定的页面,需要在angular流星中进行登录验证,如何重定向到404页面
- 404页面加载错误
- 快递路线404页面从未被触发
- 将无效的url重定向到404页面
- 有趣的动画CSS3 404页面
- 为什么我被重定向到404页面找不到
- 使用404页面进行ajax回退
- OroCrm-使symfony2探查器在不弹出404页面的情况下正确更新页脚数据
- 一旦添加了404页面,Express就不会呈现静态文件