如何使用express node.js打印到html
How to print to html with express node.js
如何在html中显示服务器端node.js上变量中的文本。
换句话说,为了更加清楚,我从一个访问twitter(Twitt)的api中提取了输出,并试图在页面底部显示该文本。
这就是网页被称为的方式
app.get('/', function (req, res) {
res.sendfile('./Homepage.html');
});
这就是Node.js文件的调用位置:
var express = require('express');
var app = express();
这里是变量所在的位置:
T.get('search/tweets', { q: hash1 + ' since:2013-11-11', count: 5 },
function(err, reply) {
response = (reply),
console.log(response)
app.append(response)
})
假设要在页面上注入的代码在每次请求时都会发生变化,那么您应该或多或少地拥有如下代码:
app.get('/', function (req, res){
// make the call to twitter before sending the response
var options = { q: hash1 + ' since:2013-11-11', count: 5 };
T.get('search/tweets', options, function(err, reply) {
// use RENDER instead of SENDFILE
res.render('./Homepage.html', {data: reply});
});
});
注意(1)我是如何在请求中调用Twitter的,(2)我使用res.render()(http://expressjs.com/api.html#res.render)而不是res.sendFile().
通过这种方式,您的视图(homepage.html)可以注入传递给res.render()的数据
<p>your html goes here</p>
<p>The data from Twitter was <h2><%= data %></h2></p>
<p>xxx</p>
您需要使用类似ejs模板的东西。
例如,在app.js中,您将拥有:
app.get('/', function(req, res) {
res.render('index', {base: req.protocol + "://" + req.headers.host});
});
然后在index.ejs中,您将获得
<!DOCTYPE html>
<html lang="en">
<head>
<title>Websitename</title>
<base href="<%- base %>">
</head>
确保将您的视图引擎设置为接近app.js 的顶部
app.set('view engine', 'ejs');
相关文章:
- 在 javascript 函数中打印 HTML JavaScript 代码
- 窗口确认在 AJAX 帖子中打印 HTML 标签
- 如何在不包含导航选项卡内容、页脚和头部的情况下打印 HTML/PHP 页面
- 循环使用JSONObject并打印html
- KnockoutJS-打印html片段
- 如何在jquery代码中打印html标签
- 打印html表格而不提示预览窗口
- 使用Javascript打印HTML:未定义错误
- 如何使用php动态打印html脚本
- 在Ionic2页面中打印html内容
- 使用当前 css 打印 html 页面
- CSS不适用于(在第一页之后)尝试使用javascript打印html页面
- JSON 响应打印 HTML 而不是消息
- 在 Javascript 文件中的屏幕上打印 html 输入属性和变量
- 如何在 js 中通过链接打印 HTML 页面
- 打印 HTML 文档时插入页眉/页脚
- 在打印 html 内容中添加外部样式表引用后,打印预览为空白
- 使用jZebra在同一收据上打印HTML和PostScript
- 如何打印html代码,这样我只写过一次
- 使用JavaScript打印HTML对象标记的内容