Я пишу приложение, которое интегрируется в веб-сайт, уже написанный на Meteor (я не могу изменить это, но могу добавить к нему).Я пытаюсь отправить информацию из приложения Meteor на мой сервер Flask.
Для этого я использую HTTP-модуль MeteorJ.
Код для этого:
HTTP.post('http://127.0.0.1:5000/path', {
"content" : {"headers" : {"Content-Type": "application/json"}, "data": {time: getTime, data: getData()}}
},
(error, result) => {
if(error){
console.log(error);
console.log({time: getTime(), data: getData()})
}
else {
console.log(result);
}
}
)
getTime()
и getData()
оба работают независимо вне этой функции,поэтому они не должны быть источником ошибки.
Когда я смотрю на консоль JS, когда запускается событие, я получаю следующее сообщение: Error: Connection lost at XMLHttpRequest.xhr.onreadystateexchange
и что должно было быть отправлено на Колбусервер.
Когда я смотрю на сервер Flask, я вижу, что он получает почтовый запрос с кодом состояния 200, но кажется, что данные на самом деле не принимаются.
Код наконец Python:
@app.route(r'path', methods=["POST"])
def get_data():
print(request.data)
print(request.args)
return "Hello World"
Операторы печати выходят пустыми, при этом они отображаются на консоли b'[object Object]'
или ImmutableMultiDict([])
Приложение Meteor и приложение Flask находятся на разныхпорты.
Проблема, которую я считаю, на стороне MeteorJS, так как я использовал функцию curl linux, она работает правильно, когда я пингую флеш-сервер оттуда.
Есть ли способ исправить этоошибка?Если так, то как?