Express handlebars 呈现为字符串而不是响应

express handlebars render to string instead of response

我目前成功地使用了 express handlebars - 但是我只想用它来更新和呈现页面的一部分 - 一个随时间变化的项目列表,所以我想更新 list 在计时器上。基本上在浏览器上我有以下代码:

$.get( "myUrl").then( result => $("#targetdiv").html( result.html ));

所以在服务器上我对每个页面都做了这样的事情:

app.get("/myUrl", async (req, res) => {res.render( "someTemplateFile");} )

但是,显然这两者不能一起工作 - 我需要这样做:

app.get("/myUrl", async (req, response) => 
{
   var renderedHtml =   .....someCodeHere...... ("someTemplateFile");
   response.send( {html:renderedHtml} );
}

有简单的方法吗?

像这样使用 render API:

var hb = require('express-handlebars').create();
app.get("/myUrl", async (req, response) => 
{
   hb.render("some.hbs",{title:"Title",body:"Body"}).then((renderedHtml) => {
       response.send( {html:renderedHtml} );
   });
});
res.render(
    'locale/Order',
    /*your html template*/,
    dataObject,
    function(err,rawHtml) {
        console.log(rawHtml)
    }
)