#javascript #python #json #post #axios
Вопрос:
Я пытаюсь построить почтовый маршрут от интерфейса JS до серверной части Python. Это то, что у меня есть до сих пор:
async submitScore(){
await axios({
url: 'http://127.0.0.1:5000/submit',
method: "POST",
data: JSON.stringify({"score": game.score}),
contentType: 'application/json;charset=utf-8',
dataType: 'json',
});
console.log(data)
}
и
def submit_score():
data2 = request.form.get('data')
data = request.get_json()
print (data, data2) # returns NoneNone
return 'hello'
Когда я пытаюсь также передать force=True в request.get_json(), он отправляет мне 400 ошибок. Я не могу понять почему, потому что мне кажется, что я отправляю данные json? Может ли кто-нибудь указать мне правильное направление? Спасибо
Комментарии:
1. Я не думаю, что вам нужно это делать
JSON.stringify()
, чтобы отправить данные. Отправьте его как объект без строки2. Я просто попробовал это сделать сегодня, но это не сработало.
3. Ого! Что-то только что изменилось. Я изменил свой запрос на публикацию axios, чтобы он выглядел так: ждите axios.post(‘url’, {«оценка»: game.score}, и он прошел! Мне любопытно, понимает ли кто-нибудь, почему я получил свою ошибку, хотя? Похоже, что исходный запрос на публикацию был отформатирован правильно. Кто-нибудь?