繁体   English   中英

用express重新渲染哈巴狗视图

[英]re-render pug view with express

基本上我想实现的是可搜索/可过滤的列表视图

到目前为止,我已经能够从数据库中获取一些数据,并且用pug表示可以使我在页面视图中显示结果。

现在,我想添加过滤显示的列表视图的功能。 因此,在文本框内的每个keyup事件中,我都会向服务器发出AJAX发布请求,以从文本框发送查询字符串。 到目前为止,一切工作正常,但是当我尝试“重新渲染”具有过滤结果集的页面时,浏览器中没有任何反应。

我的路线如下所示:

var rechnungen;

router.get('/', function(req, res) {

    connection.query('SELECT * FROM rechnungen ', function(err, result) {
    rechnugen = result;
    res.render('rechnungen', {rechnungen: result});

});

router.post('/:query', function(req, res) {
    console.log("received ajax request");
    console.log("with query " + req.params.query);
    res.render('rechnungen', {rechnungen: {}});
});

最初,查询语句获取数据,然后res.render正常工作,当我进行AJAX调用时,一切似乎都正常(控制台日志输出与我的输入匹配),但是无论我尝试传递给视图什么(res.render) )在发布路线中没有任何反应。

是否无法“重新渲染”视图,或者我还有其他概念错误?

谢谢你的帮助

AJAX POST调用不是传统的HTTP调用。

从服务器发送的渲染页面将进入AJAX调用成功处理程序的响应对象。

所以,要么

  • 用响应HTML替换整个HTML,或者
  • 进行传统的HTTP形式POST,在这种情况下,浏览器默认情况下会呈现服务器的响应。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM