我正在尝试通过单击选项卡按钮刷新SQL数据表,但它不起作用。
在app.js中:
app.post('/updateTable', function(req, res) {
var db = new sqlite3.Database('users.db');
db.serialize(function() {
db.all("SELECT * FROM user_info", function(err, rows) {
res.render('index', { title: 'Student Registration', rows: rows });
});
});
db.close();
});
在index.pug中:
#tabs-2.box
table
thead
tr#tabTit
th Name
th Birthday
th EduID
th EduGroup
th Phone
th Email
tbody
- for (var item in rows)
tr
td= rows[item].name
td= rows[item].date
td= rows[item].eduID
td= rows[item].gr
td= rows[item].phone
td= rows[item].email
在clien-side JS:
$(document).ready( function() {
$('#tabs, #tabs-2').tabs({
activate: function(event, ui) {
$.ajax({
type: 'POST',
url: '/updateTable'
});
}
});
});
成功处理了后请求,但“res.render”不起作用。
我搞砸了哪里?
P.S。对不起我的英文
答案 0 :(得分:0)
您确定要处理发布请求吗?您正在声明activate
函数,但从不调用它。
如果这不是问题,请尝试返回res.render。它变成了:
return res.render('index', { title: 'Student Registration', rows: rows });
答案 1 :(得分:0)
最后!它与ajax-request中的success-handler一起使用。现在有动态刷新表。
渲染pug-page'表'
db.all("SELECT * FROM user_info", function(err, rows) {
res.render('table', { rows: rows });
});
成功处理程序
$.ajax({
type: 'GET',
url: '/updateTable',
success: function(data) {
$('#tabs-2').html(data);
}
});