无法在视图中显示来自API请求的数据

时间:2018-07-13 14:18:22

标签: api express views ejs display

我是Express和Node.js的新手,试图构建服务器呈现的应用程序,该应用程序将显示API中的一些数据。

这是我的代码

app.js

id

index.ejs

var express = require("express");
var app = express();
var request = require("request");
var apiKey = '****************************';
var bodyParser = require("body-parser");

app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.set('viewEngine', 'ejs');

const options = {
  method: 'POST',
  url: 'http://api.somethingsomething.com/content/search/v1?',
  headers: {
    'X-Api-Key': `${apiKey}`,
    'Content-Type': 'application/json'
  },
  body: {
    'queryString': 'pigs',
    'resultContext' : {
         'aspects' :['title','lifecycle','location','summary','editorial' ]
        }
      },
      json: true
    }

app.get('/', function(req, res) {
  request(options, function(error, response, body) {
    if (!error && response.statusCode == 200) {
      var info = JSON.stringify(body);
      console.log(info);
      res.render('index', { results: info}); // this does not render anything 
    }
  })
});


app.listen(3000, function() {
  console.log("Listening on port 3000");
})

它不呈现index.ejs并且不能显示数据。 错误:未指定默认引擎,也未提供扩展名。 我尝试谷歌搜索,但没有运气。任何帮助将不胜感激;谢谢

1 个答案:

答案 0 :(得分:0)

问题是简单的app.set('viewEngine','ejs');是错误的,应该是pp.set('view engine','ejs');