在Node.js中向JSON API发出GET请求?

sai*_*tel 9 api get node.js

想知道如何使用Node.js向JSON API发出GET请求.我最好想使用Express但是没有必要,并且输出是在Jade页面上.我仍然是Node.js和后端语言的新手.

Sle*_*aur 15

var request = require('request');
request('<API Call>', function (error, response, body) {
    if (!error && response.statusCode == 200) {
      var info = JSON.parse(body)
    }
})
Run Code Online (Sandbox Code Playgroud)

这将向API发出HTTP请求,并在成功时将响应解析为JSON.

至于将响应放到Jade页面上,您是否希望进行API调用(到您自己的服务器),然后使用AngularJS/jQuery /另一个框架来填充信息?

如果您希望将此添加到您自己的路线,请考虑将其嵌入:

var express = require('express');
var cors = require('cors');
var request = require('request');
var app = express();
app.use(express.bodyParser());
app.use(cors());
app.get('<Your Route>', function(req, res){
  request('<API Call>', function (error, response, body) {
    if (!error && response.statusCode == 200) {
      var info = JSON.parse(body)
      // do more stuff
      res.send(info);
    }
  })
});
app.listen(3000);
console.log("The server is now running on port 3000.");
Run Code Online (Sandbox Code Playgroud)


fun*_*err 7

我喜欢使用请求包:

npm install --save request
Run Code Online (Sandbox Code Playgroud)

和代码:

var request = require('request');

request({url: 'http://yourapi.com/', json: true}, function(err, res, json) {
  if (err) {
    throw err;
  }
  console.log(json);
});
Run Code Online (Sandbox Code Playgroud)