一些细节......我使用Express 4,Node 0.12.2和Express-Handlebars作为我的视图引擎。
我正在尝试通过AJAX调用渲染部分内容,并希望以不同方式处理不同的错误类型。在回调调用上传递的错误对象似乎没有太多有用的信息可用,只是一个错误消息。这里有什么我想念的吗?
// Search (Partial)
router.get('/search-products', function (req, res, next) {
res.render('partials/search/products', {layout: 'ajax'}, function(err, html){
if(err) {
// return res.status(404).send(err);
// return res.status(500).send(err);
}
res.send(html);
});
});
答案 0 :(得分:1)
该错误对象不具有状态代码,因为它是视图引擎生成的错误对象。如果填充了该错误,您几乎可以认为它是500错误,因为视图引擎由于某种原因无法编译视图。
例如,如果您正在使用Jade,那么如果您尝试让Jade编译具有无效Jade语法的模板,则将填充该错误对象。那里的错误永远不会与HTTP相关,这意味着它总是只是服务器端错误,状态代码500就足够了。