【问题标题】:Displaying data from node.js server on a HTML page在 HTML 页面上显示来自 node.js 服务器的数据
【发布时间】:2016-05-15 02:11:53
【问题描述】:
我有一个带有 express 的 node.js 服务器,其中包含一个 POST,当填写表单以从 twitter 返回数据时调用该 POST。现在 POST 按预期工作,目前我只是在使用:
res.status('Tweets').send(tweettxt);
tweettxt 是所有返回的推文的对象。现在这只是创建了一个显示这个对象的空白页面,但是有没有办法用这个数据的形式动态地添加到现有的 HTML 页面?
【问题讨论】:
标签:
javascript
jquery
html
node.js
express
【解决方案1】:
我假设您使用的是 ejs 模板引擎,正如您提到的 html 页面。它使用标签来显示从服务器接收到的数据。您可以通过
显示数据
res.render('htmlPage',{
tweettxt:tweettxt
});
在 htmlPage.ejs 中,您可以使用 <%= tweettxt %>this 之类的标签来显示数据。
如果您使用 ajax 提交表单。您可以使用 jquery 循环访问 twitter 响应对象,并按照您的说明在 html 页面中动态显示它。
【解决方案2】:
您可以使用 ajax 进行 POST,然后处理结果或在发布后呈现页面。
在服务器端使用手柄进行渲染的最简单方法。
res.header('Content-Type', 'text/html; charset=utf-8');
res.status(200).send(
Handlebars.compile(
fs.readFileSync(
path.join(
__dirname,
'template.html'
)
).toString('utf-8')
)(tweettxt)
);
模板.html:
<html>
<body>
</body>
</html>
http://handlebarsjs.com/#getting-started