【发布时间】:2016-10-04 13:28:55
【问题描述】:
当浏览器或 curl 客户端调用我的 node express 应用程序时,我想从外部网站获取 JSON 数据并将其返回,但是尽管看到嵌套的 http 调用将 JSON 数据返回到我正在努力的 express 服务器让 JSON 返回到调用浏览器 - 我该怎么做?
这是当前带有 curl 响应的测试应用代码:
var http = require('http');
var app = require('express')();
app.get('/', function (req, res) {
var str = '';
var options = {
host: 'jsonplaceholder.typicode.com',
path: '/posts/1'
};
callback = function(response) {
response.on('data', function (chunk) {
str += chunk;
});
response.on('end', function () {
console.log(str);
});
}
var req = http.request(options, callback);
res.send(str);
req.end();
});
app.listen(3000, function () {
console.log('Example app listening on port 3000!');
});
这是 CURL localhost:3000 的结果(没有返回正文数据):
感谢所有建议/指针!
【问题讨论】:
-
如果您只是想回复收到的任何内容,那么
app.get('/', function (req, res) { res.status(200).send(req.body); });会将您在服务器端拥有的完整 json 发送回客户端。 -
谢谢维克拉姆 - 我会试试的。在将响应返回给被调用者之前,我需要做什么来修改响应?
-
嗨维克拉姆,对不起,我无法让这个工作,我怀疑这又是等待完成的问题,但幸运的是,与此同时已经收到了一些工作答案。无论如何谢谢!