我是Node.js的初学者,所以根据项目要求,我试图从Node.js调用REST服务,我得到了如何从this SO question调用休息的信息。以下是进行休息呼叫的代码:
var options = {
host: url,
port: 80,
path: '/resource?id=foo&bar=baz',
method: 'POST'
};
http.request(options, function(res) {
console.log('STATUS: ' + res.statusCode);
console.log('HEADERS: ' + JSON.stringify(res.headers));
res.setEncoding('utf8');
res.on('data', function (chunk) {
console.log('BODY: ' + chunk); //I want to send this 'chunk' as a response to browser
});
}).end();
问题是我想发送chunk
作为对浏览器的回复,我试过res.write()
但是它给我一个错误“找不到写入方法”。我到处查看文档,但他们给的只是console.log。任何人都可以让我知道如何将该数据作为对浏览器的响应发送?
答案 0 :(得分:1)
http.request
的回调是IncomingMessage
的一个实例,它是Readable
流,没有write
方法。使用http.request
发出HTTP请求时,您无法发送回复。 HTTP是面向请求 - 响应消息的协议。
如何将该数据作为对浏览器的响应发送?
要使浏览器能够获得响应,它必须先发出请求。您必须运行一个服务器,在收到请求时调用REST服务。
http.createServer(function(req, res) {
var data = getDataFromREST(function(data) {
res.write(data);
res.end();
});
});