gpt4 book ai didi

node.js - 在 express 中,如何在满足条件时路由到自定义错误模板?

转载 作者:搜寻专家 更新时间:2023-11-01 00:47:33 31 4
gpt4 key购买 nike

在我的选择语句中,如果来自 URL 的参数不正确,我想将用户发送到自定义错误模板。

我已尝试设置渲染,但传递的参数不起作用。

#routes.js
router.get('/select-id/', function(req, res) {
var id = req.query.id;
if(id && id.match(/^[0-9]+$/) != null){
mc('SELECT * FROM tasks where ID = ' + id, function (error, results, fields) {
if (error) throw error;
res.render('pug-select-all', {
title: 'Results',
data: results
});
});
}
else {
res.render('error', {status: 500, stack: 'error'});
}
});
#error.pug
extends layout

block content
h1= message
h2= error.status
pre #{error.stack}

我尝试过不同的方法,但我总是在 routes.js 或 pug 模板上遇到错误。如果我像上面的代码一样保留它,我会得到 Cannot read property 'status' of undefined in error.pug

最佳答案

查看文档,您应该将响应对象发送为:

res.render('error', { "error": {status: 500, stack: 'error' } });

或者在您的pug 模板中,以一级 成员身份访问它,例如:

#error.pug
extends layout

block content
h1= message
h2= status
pre #{stack}

关于node.js - 在 express 中,如何在满足条件时路由到自定义错误模板?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57530093/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com