我正在使用API。我试图将姓氏打印到html文档上。
所以我能够控制日志响应给我的列表对象,并通过它循环查找姓氏。但这就是我被困的地方,我如何打印到文档?我是在app.get中编写一个函数,还是可以从HTML文档中访问数据?
有点失落,任何帮助都会很棒。
感谢。
var express = require('express');
var app = express();
var nationbuilder = require('nationbuilder');
var OAuth2 = nationbuilder.auth.OAuth2;
var async = require('async');
var oauth2Client = new OAuth2();
var sites = nationbuilder.sites('v1');
var people = nationbuilder.people('v1');
//look for resources.
app.use(express.static(__dirname + '/public')) ;
//nationbuilder config.
oauth2Client.setCredentials({
access_token: 'XXXXXXX'
});
nationbuilder.options({
params: {
slug: 'XXXXXXXX',
},
auth: oauth2Client
});
people.list(function(err , response){
for( var i = 0; i < response.results.length; i++){
var last_name = response.results[i].last_name;
console.log(last_name)
}
});
app.get('/', function(request, response){
response.sendfile('index.html');
});
app.listen(3000)
答案 0 :(得分:2)
这里有几个选项。您现在正在做的只是发送静态HTML文件,该文件不允许修改网页。
选项一,可能是你最好的选择,就是使用HTML渲染引擎,比如Pug。 Others are available
基本用法(从上面链接复制):
index.pug
html
head
title= title
body
h1= message
index.js
app.get('/', function (req, res) {
res.render('index', { title: 'Hey', message: 'Hello there!'});
});
生成以下HTML:
<html>
<head>
<title>Hey</title>
</head>
<body>
Hello there!
</body>
</html>
另一个需要更多工作的选项是使用RESTful API。您编写了一组改变状态的端点。然后在您的界面中,您可以让Javascript调用这些端点并根据结果更改DOM。
就个人而言,我建议使用模板引擎,因为它完全符合您的需求,工作量少,而且接近您现在尝试做的事情。
*免责声明:我最近需要使用HTML模板引擎,然后我和帕格一起去了。纯粹是因为我知道它的存在。我不熟悉任何替代方案,这就是为什么我没有提到任何其他选择。