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)
})
}
, когда я получаю апи ответ должен отправить клиенту, сделать запрос на почту с res.send
error: Can't set headers after they are sent.
Я предполагаю, что это действительно код, который вы не включили. Это чаще всего случается со мной, если я пытаюсь сделать 'res.send' дважды где-то по моему конвейеру промежуточного программного обеспечения. Это может быть так же просто, как когда-то после вызова запроса «res.send». –
Да, у вас есть код, который я здесь не включаю, это изолированный код, который не работает, но перед этим нет другой инструкции res.send, я нашел ее в конце моего оригинала код, эта строка 'res.end()' давала мне ошибку, спасибо за ваше время @JeremyPridemore, привет! – nerdcoder
Не быть упрямым, но проблема не в вашем указанном коде. Чтобы доказать это, я изменяю ваш apiurl на '' http: // google.com'' и фактически запускаю эту программу локально, и он отлично работает. Некоторое время, когда я ударил эту ошибку, у меня был 'res.send()' в 'if' -операторе и один за его пределами, без' refurn' в выражении if. Они оба побежали. В любом случае, мы пока не можем помочь, потому что фактическая проблема заключается не в коде, который вы опубликовали, из того, что я могу сказать. –