使用express和nodejs从API获取JSON格式的数据

时间:2018-03-06 17:26:10

标签: json node.js api express matomo

我正在尝试使用expressjs从API获取分析数据。数据采用JSON格式。关键是我想在视图中显示结果。我能够在控制台中获取数据,但我无法在视图中执行此操作。

这是我到目前为止所尝试的内容:

app.js

var express = require('express');
var http = require('http');
var app = express();
var request = require('request');
http.get('http://localhost:8383/analytics/piwik/index.php?module=API&method=Actions.getPageUrls&idSite=1&date=yesterday&period=day&format=json&filter_limit=10', function(res){
  var body = "";
  res.on('data', function(chunk){
      body += chunk;
  });
  res.on('end', function(){
    var resp = JSON.parse(body);
    console.log(resp);
  });
  app.listen(3000, function(){
    console.log("Example app listening to port 3000");
  });
});

2 个答案:

答案 0 :(得分:2)

您有两种选择: 1 - 你可以使用诱人的语言来渲染你的应用程序中的数据,如把手或ejs的胡子以及许多其他选择。 2-你可以创建一个端点,让你的客户端使用ajax连接到它,然后使用javascript渲染数据(框架可以在这里帮助)

答案 1 :(得分:0)

获得回复后,您必须呈现数据,请参阅以下示例: -

 var resp = {
        'name':'demoUsername',
        'contact': '+91-9876543210'
    }
    res.render('index', { resp: resp });

我正在使用EJS模板引擎,请参阅下面的代码: -

<html>
<body>
  <table>
    <tr>
      <td>Name</td>
      <td>Contact</td>
    </tr>
    <tr>
      <td><%= resp.name%></td>
      <td><%= resp.contact%></td>
    </tr>
  </table>
</body>
</html>