Я пытаюсь отправить некоторые данные JSON из приложения node js в другой веб-сервис, написанный в Flask. Я пытаюсь использовать библиотеку запросов и посмотрел вопросы здесь и здесь .
На основе примеров я придумал следующее простое приложение. Приложение отправляет данные JSON на сервер my flask, но не получает/запускает обратный вызов. Я проверил, что приложение Flask возвращает некоторые данные через postman, и это работает хорошо.
Где я ошибаюсь?
[это все мое приложение.js]
var express = require("express");
var request = require('request');
var app = express();
app.set('view engine', 'pug');
app.get('/', function(req, res) {
console.log("here...")
request({
url: 'http://localhost:5000/receive_user_response',
method: "POST",
headers: {
"content-type": "application/json"
},
json: { // <--- I have also tried calling this as "body"
user_id: "some id...",
user_info: "some info..."
},
function(err, res, data) {
console.log('err', err) // <---- never prints any thing from here!
console.log('res', res)
console.log('data', data)
if (!err && res.statusCode == 200) {
console.log(data);
}
}
})
console.log("here...done..")
});
var server = app.listen(3000, function() {
console.log("Listening on port %s...", server.address().port);
});
Это не совсем ответ, но я могу заставить его работать, используя запрос-обещание вместо запроса.
Функция обратного вызова должна быть вторым параметром
request
функции. Вы случайно помещаете его в объект json. Сработает следующее.Но это определенно лучше читать.