如何使用Node.js将Rest api JSON数据呈现到HTML页面而不使用jquery

时间:2017-08-29 21:02:29

标签: html json node.js rest api

我正在尝试为JSON数据使用RESTful API并尝试在HTML页面上显示它。 以下是将API解析为JSON数据的代码。

var https = require('https');
var schema;
var optionsget = {
    host : 'host name', // here only the domain name
    port : 443,
    path : 'your url', // the rest of the url with parameters if needed
    method : 'GET' // do GET
};
var reqGet = https.request(optionsget, function(res) {
    console.log("statusCode: ", res.statusCode);
       var chunks = [];
        res.on('data', function(data) {
            chunks.push(data);
        }).on('end', function() {
            var data   = Buffer.concat(chunks);
            schema = JSON.parse(data);
            console.log(schema);
        });

  });
        reqGet.end();
        reqGet.on('error', function(e) {
            console.error(e);
        });
var express = require('express');
var app = express();
app.get('/getData', function (request, response) {
        //console.log( data );
        response.end(schema);
        })

var server = app.listen(8081, function () {
 var host = server.address().address
 var port = server.address().port
 console.log("Example app listening at http://%s:%s", host, port)
})

我能够以JSON格式获取数据但是如何在HTML页面中显示它?我正在尝试使用节点js,因为我不想使用jquery。任何帮助将不胜感激。谢谢

1 个答案:

答案 0 :(得分:0)

  

你的json可以通过ejs进行渲染

npm i ejs

     var app = express();
            app.set('view engine', 'ejs');
            app.use(express.static(__dirname+'/public'));

            app.get('/view/getData', function (request, response) {
             //here view/getData is getData.ejs file in the view folder
             response.render(__dirname+'/public/view/getData'',{schema: schema});
    //schema is the object wich reference through the view in ejs template                    
});
  

你的视图文件getData.ejs

//将你的getData存储在view / getData.ejs

<h>  <%= schema[0]%> </h>//your json data here 

basic ejs reference here

res.render brief explanation here