Javascript Jade模板呈现错误div,尽管对象存在未定义的错误
当点击我的注册页面时,我的jade模板(带有Twitter引导)生成一个空的error div(即一个红色不透明框,带有关闭链接,没有错误),尽管errors对象返回typeof为“undefined”。我用它来指导检查错误值。守则如下: 控制器:Javascript Jade模板呈现错误div,尽管对象存在未定义的错误,javascript,node.js,twitter-bootstrap,express,pug,Javascript,Node.js,Twitter Bootstrap,Express,Pug,当点击我的注册页面时,我的jade模板(带有Twitter引导)生成一个空的error div(即一个红色不透明框,带有关闭链接,没有错误),尽管errors对象返回typeof为“undefined”。我用它来指导检查错误值。守则如下: 控制器: /** * Show sign up form */ exports.signup = function(req, res) { res.render('users/signup', { title: 'Sign up', u
/**
* Show sign up form
*/
exports.signup = function(req, res) {
res.render('users/signup', {
title: 'Sign up',
user: new User()
});
};
extends ../layouts/default
block content
.row
//-.offset1.span5
.span6
a(href="/auth/facebook")
img(src="/img/icons/facebook.png")
//- a(href="/auth/github")
//- img(src="/img/icons/github.png")
a(href="/auth/twitter")
img(src="/img/icons/twitter.png")
a(href="/auth/google")
img(src="/img/icons/google.png")
.span6
if (typeof errors != 'undefined') // The following alert shouldn't be rendered
.fade.in.alert.alert-block.alert-error
a.close(data-dismiss="alert", href="javascript:void(0)") x
ul
each error in errors
//- li= error.param
li= error.msg
block auth
翡翠模板:
/**
* Show sign up form
*/
exports.signup = function(req, res) {
res.render('users/signup', {
title: 'Sign up',
user: new User()
});
};
extends ../layouts/default
block content
.row
//-.offset1.span5
.span6
a(href="/auth/facebook")
img(src="/img/icons/facebook.png")
//- a(href="/auth/github")
//- img(src="/img/icons/github.png")
a(href="/auth/twitter")
img(src="/img/icons/twitter.png")
a(href="/auth/google")
img(src="/img/icons/google.png")
.span6
if (typeof errors != 'undefined') // The following alert shouldn't be rendered
.fade.in.alert.alert-block.alert-error
a.close(data-dismiss="alert", href="javascript:void(0)") x
ul
each error in errors
//- li= error.param
li= error.msg
block auth
我尝试了以下方法,但每次都得到相同的结果:
if (typeof errors != 'undefined')
if (typeof errors !== 'undefined')
if (typeof errors != undefined)
if (typeof errors !== undefined)
if (null != errors)
if (null !== errors)
编辑:根据您在评论中所说的,
错误
在没有错误时不是未定义的
;相反,它是一个空数组。这个答案现在检查了这个问题
这将有助于在某个地方看到这一点,但将您的Jade代码更改为这一点可能会解决这一问题:
- if (errors.length > 0) {// The following alert shouldn't be rendered
.fade.in.alert.alert-block.alert-error
a.close(data-dismiss="alert", href="javascript:void(0)") x
ul
each error in errors
//- li= error.param
li= error.msg
- }
谢谢,埃文,但不要掷骰子。将块包装在-s和{}s中会产生相同的结果。您是否在其中放置了一个
-console.log(errors)
,以查看Jade当时认为错误是什么?是的,返回的都是空括号[]。好的。我正在改变这个答案来检测它!“你就是那个人,”埃文说。成功了。我觉得自己很愚蠢,因为我没有抓住那个。谢谢