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'。所以他們都跑了。無論哪種方式,我們都無法幫助,因爲實際問題不在您透露的代碼中。 –