Tri*_*mma 3 sqlite node.js express pug
我开始使用Node.js,我完全不知道为什么我无法在页面上呈现我的SQL查询结果,我正在使用sqlite3.这是我的index.js文件的一部分
router.get('/students', function (req, res, module) {
var fs = require("fs");
var file = "./test.db";
var exists = fs.existsSync(file);
if (!exists) {
console.log("Creating DB file.");
fs.openSync(file, "w");
}
var sqlite3 = require("sqlite3").verbose();
var db = new sqlite3.Database(file);
db.serialize(function () {
if (!exists) {
db.run("Create table students ( ID INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL UNIQUE, Nom varchar (255), Prenom varchar (255) );");
}
});
db.all('SELECT * FROM students', function selectCb(err, rows, fields) {
if (err) {
throw err;
}
for (var i in rows) {
console.log(rows[i]);
}
res.render('showResults.jade', {
results: rows
});
});
db.close();
res.render('students', { title: 'list' });
});
Run Code Online (Sandbox Code Playgroud)
这是我的Jade(create.jade)文件;
block content
form(method='get', action='/students/create')
button(type='submit') Creer
ul
each item, i in results
li #{item.Nom} (#{item.Prenom})
li= JSON.stringify(item)
Run Code Online (Sandbox Code Playgroud)
我把所有这些东西放在我的快递应用程序中,我用我的shell启动它,我收到所有的SQL数据,如下所示:
{ ID: 1, Nom: 'zeze', Prenom: 'zeze' }
{ ID: 2, Nom: 'ertty', Prenom: 'uuuuuuuuuuu' }
Run Code Online (Sandbox Code Playgroud)
但我/学生页面显示一条消息
http://i.stack.imgur.com/ormUG.png
你能帮帮我吗,我真的很绝望.(抱歉我的英文不好我是法国人)^^
res.render('students', { title: 'list' });
Run Code Online (Sandbox Code Playgroud)
这条线
each item, i in results
Run Code Online (Sandbox Code Playgroud)
变量名称不匹配.
从图片中,我可以看到你正在渲染被调用的页面students.jade.对于该页面,您正在向titleJade 发送变量,但您声明该变量将results在Jade中调用.
| 归档时间: |
|
| 查看次数: |
21790 次 |
| 最近记录: |