gpt4 book ai didi

node.js - 从 Node.js 进行 REST 调用并将响应发送到浏览器

转载 作者:太空宇宙 更新时间:2023-11-04 01:10:36 27 4
gpt4 key购买 nike

我是 Node.js 的初学者,因此根据项目要求,我尝试从 Node.js 调用 REST 服务,我从 this SO question 获取了如何调用 REST 的信息。 。这是进行休息调用的代码:

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。谁能告诉我如何将该数据作为响应发送到浏览器?

最佳答案

http.request 的回调是 IncomingMessage 的实例,它是一个没有 Readable Stream编写方法。使用 http.request 发出 HTTP 请求时,您无法发送响应。 HTTP 是一种面向请求-响应消息的协议(protocol)。

how can I send that data as a response to a browser?

为了让浏览器能够获得响应,它必须首先发出请求。您必须运行一个服务器,该服务器在收到请求时调用 REST 服务。

http.createServer(function(req, res) {
var data = getDataFromREST(function(data) {
res.write(data);
res.end();
});

});

关于node.js - 从 Node.js 进行 REST 调用并将响应发送到浏览器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18179263/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com