节点JS。 Jade / Pug页面未呈现

时间:2017-05-03 16:05:23

标签: javascript sql node.js pug

我正在尝试通过单击选项卡按钮刷新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。对不起我的英文

2 个答案:

答案 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);
             }
});