在Node.JS中从服务器端发送GET请求JSON对象到客户端

我是一般的新Node.js和服务器端脚本,现在正在使用这里find的brewerydb-node包装器( https://www.npmjs.com/package/brewerydb-node )

我目前有以下服务器端代码,将相应的JSON对象logging到命令行

var express = require('express'); var app = express(); var morgan = require('morgan'); var bodyParser = require('body-parser'); var BreweryDb = require('brewerydb-node'); var brewdb = new BreweryDb([api-key here]); var request = require('request'); app.use(bodyParser.json()); brewdb.breweries.getById("g0jHqt", {}, function(err, beer) { if(err) { console.log(res.statusCode()); } else { console.log(beer.name); } }) app.listen(8000, function() { console.log("Listening at http://localhost:8000"); }) 

我不知道如何将这个对象作为响应发送,我可以用我的客户端代码parsing,因为在这个包装中没有“res”或“req”参数。

你想把你的请求包装在一个路由中,像这样:

 var express = require('express'); var app = express(); var morgan = require('morgan'); var bodyParser = require('body-parser'); var BreweryDb = require('brewerydb-node'); var brewdb = new BreweryDb([api-key here]); var request = require('request'); app.use(bodyParser.json()); app.get('/breweries/:id', function(req,res){ // in here a request to http://localhost:8000/breweries/g0jHqt will fetch the same as your example code brewdb.breweries.getById(req.params.id, {}, function(err, beer) { if(err) { console.error(err); res.status(500).send("An error occurred"); } else if(beer) { // we found the beer res.send(beer); } else{ res.status(404).send('We could not find your beer'); } }) }); app.listen(8000, function() { console.log("Listening at http://localhost:8000"); })