发送后无法设置headers。在 NodeJS 中使用 HBS
Can't set headers after they are sent. in NodeJS using HBS
我在尝试呈现我的页面时收到以下错误
Can't set headers after they are sent.
下面是我正在尝试做的事情
res.render('information', {
name: rows[i].name,
boxId: rows[i].box
});
console.log(rows[i].name);
它在控制台中打印出正确的信息,所以我知道这是正确的,但是在 information
页面上呈现该信息是一个问题
{{#each items}}
<form method="post" action="">
<input type="hidden" value="{{BoxId}}">
<button type="submit">{{name}}</button>
</form>
{{/each}}
基本上在该页面上,我试图 运行 一个 for 循环,其中必须使用在数据库中找到的每个项目生成一个新的按钮表单。如果有 5 个带有名称和框值的项目,那么这应该产生 5 次并设置它们各自的值和名称。
但是,这是次要问题,因为即使 <h3> {{name}} </h3>
它也不起作用,我遇到了设置 headers 问题。
如有任何帮助,我们将不胜感激。
使用的模板语言:
http://handlebarsjs.com/
我不确定您是如何设置的,但是 res.render 本身是否在 for 循环中?如果是这样,将整个数据集传递给模板,并在模板本身中循环,如:
var data = {
rows: rows
}
res.render('information', data);
并且在模板中:
{{#each rows}}
{{this.propName}}
{{/each}}
如果您有嵌套数据,您也可以有嵌套 {{#each}} 语句。
我在尝试呈现我的页面时收到以下错误
Can't set headers after they are sent.
下面是我正在尝试做的事情
res.render('information', {
name: rows[i].name,
boxId: rows[i].box
});
console.log(rows[i].name);
它在控制台中打印出正确的信息,所以我知道这是正确的,但是在 information
页面上呈现该信息是一个问题
{{#each items}}
<form method="post" action="">
<input type="hidden" value="{{BoxId}}">
<button type="submit">{{name}}</button>
</form>
{{/each}}
基本上在该页面上,我试图 运行 一个 for 循环,其中必须使用在数据库中找到的每个项目生成一个新的按钮表单。如果有 5 个带有名称和框值的项目,那么这应该产生 5 次并设置它们各自的值和名称。
但是,这是次要问题,因为即使 <h3> {{name}} </h3>
它也不起作用,我遇到了设置 headers 问题。
如有任何帮助,我们将不胜感激。 使用的模板语言: http://handlebarsjs.com/
我不确定您是如何设置的,但是 res.render 本身是否在 for 循环中?如果是这样,将整个数据集传递给模板,并在模板本身中循环,如:
var data = {
rows: rows
}
res.render('information', data);
并且在模板中:
{{#each rows}}
{{this.propName}}
{{/each}}
如果您有嵌套数据,您也可以有嵌套 {{#each}} 语句。