2017-02-03 8 views
0

Я реализую простое приложение, которое просто отправляет некоторый запрос GET на конечную точку nodeJS-express. Эта конечная точка возвращается только это:Где тело ответа, используя nodeJS-запрос?

router.get('/', (request, response) => { 
    response.status(500).send("Error message"); 
} 

Мое приложение использует request, чтобы отправить запрос, как это:

request.get(BASE_URL) 
    .on("error", err => { 
     console.log(`ERROR: ${err}`) 
    }) 
    .on("response", res => { 
     console.log(`RESPONSE: ${res.statusCode} - ${res.body}`) 
    }); 

Но body всегда undefined. Я пытался использовать:

.on("response", res => { 
    res.on("data",() => { 
     console.log(`RESPONSE: ${res.statusCode} - ${data}`) 
    } 
}); 

Но data некоторый массив байтов. Я просто хочу строковое сообщение, где оно есть, и как я могу получить его без использования callback syntax?

ответ

0

Если вы используете экспресс, вам нужно будет ввести промежуточное программное обеспечение body-parser для анализа тела запроса.

const bodyParser = require('body-parser'); 
app.use(bodyParser.json()); 

app.post('/login', (req, res) => { 
    console.log(req.body); //data 
}) 
+0

Да, я уже пользуюсь этим. Проблема - это как-то синтаксис «.on (« response », ...)». Если я использую 'request. (Options, callback)' one, response.body содержит сообщение! – josemigallas

+0

, если вы используете экспресс, вам не нужно использовать экспресс-синтаксис http, который делает его коротким. –

+0

Экспресс находится в бэкэнде. Мой вопрос касается клиента, используя 'запрос'. – josemigallas

 Смежные вопросы

  • Нет связанных вопросов^_^