不能在发送后设置报头.在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>
它不工作,我得到集头问题。
任何帮助都会很感激。正在使用的模板语言:http://handlebarsjs.com/
我不确定你是如何设置的,但是res.render本身是for循环吗?如果是,将整个数据集传递给模板,并在模板本身中循环,例如:
var data = {
rows: rows
}
res.render('information', data);
在模板中:
{{#each rows}}
{{this.propName}}
{{/each}}
如果你有嵌套的数据,你也可以嵌套{{#each}}语句
相关文章:
- nodejs-expressjs上传图像并显示它们
- TypeError:在不兼容的接收器nodejs上调用了方法Uint8Array.length
- NodeJS-readline暂停和恢复事件发射器(逐行读取)
- NodeJS日期格式不起作用
- Nested Q.all nodejs
- Nodejs API控制器,用于在API之间切换
- 否'访问控制允许来源'标头存在于IISNOde中请求的资源(AngularJS+NodeJs)上
- 如何在大型nodeJS代码的基础上逐步引入typescript
- 在Nodejs中Express输入DEBUG=app时权限被拒绝/bin
- 无法使用nodeJS在html中设置Image src
- 与域在同一台计算机上运行的NODEJS服务器的CORS错误
- NodeJS API调用中Array中的Push和Pull元素
- 基于api密钥的NodeJS web服务
- 在gump和nodejs中使用Typescript时,未定义对require和exports的引用
- “util.inherits”和在NodeJS中扩展原型之间的区别
- 将一个方法转换为promise:Nodejs
- nodejs中匿名函数的使用
- Node和Nodejs版本不同
- Nodejs服务器在解析之前生成输入表单
- 不能在发送后设置报头.在NodeJS中使用HBS