0
我试图通过请求答复发送请求,但不能,有人可以帮助我吗?Nodejs在发送请求后获取请求后返回数据
var app = require('express')();
var http = require('http').Server(app);
var bodyParser = require('body-parser');
var request = require('request');
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
http.listen(9999, function() {
console.log('listening...');
});
app.post('/bot',function(req,res){
var apiurl = 'https://apiURI'
request(apiurl, function(error,response,body){
res.send(body)
})
}
当我收到的API答案应该发送给客户,谁做与res.send POST请求
error: Can't set headers after they are sent.
我猜这实际上是在你没有包括的代码中。如果我尝试在我的中间件管道中的某处尝试执行res.send两次,这种情况经常发生在我身上。它可能就像请求调用之后的某处有一个res.send一样简单。 –
是的,你是对的有一些代码,我不包括在这里,这是孤立的代码,不工作,但没有其他res.send指令之前,我发现它在我的原始结束代码,这行'res.end()'给了我错误,谢谢你的时间@JeremyPridemore,问候! – nerdcoder
不是固执的,但问题不在你列出的代码中。为了证明这一点,我将您的apiurl改为“http:// google.com”,并且实际在本地运行此程序,并且工作正常。有些时候我遇到了这个错误,我在if语句中有一个'res.send()',另外一个在if语句中没有'return'。所以他们都跑了。无论哪种方式,我们都无法帮助,因为实际问题不在您透露的代码中。 –