Отправка данных из Javascript в FastAPI [дубликат]Python

Программы на Python
Ответить
Anonymous
 Отправка данных из Javascript в FastAPI [дубликат]

Сообщение Anonymous »

Как отправить данные с клиента (javascript) на мой сервер (python fastapi)? У меня возникли проблемы с пониманием формата, в котором мне нужны мои данные. У меня есть «простой» пример, над которым я пытаюсь работать, чтобы понять, что происходит.

Код: Выделить всё

    document.getElementById('submitButton').addEventListener('click', async (event) => {
event.preventDefault();

const formData = new FormData();
formData.append('input_data', 'I am working');

try {

const response = await fetch('/function/', {
method: 'POST',
body: formData
});

const result = await response.json();
if (response.ok) {
console.log('Response ok');
} else {
console.log('Response not ok');
}

} catch (error) {
console.log('error');
}
});

Код: Выделить всё

@app.post('/function/')
async def function(input_data: str = Form(...)):
print(input_data)
return {'message': 'Success!'}
Обновление:
У меня есть предыдущая функция FastAPI, которая генерирует форму с переменным количеством текстовых вводов. Я пытаюсь создать прослушиватель событий для отправки данных ввода текста на сервер (приложение FastAPI). Пример формы ниже:

Код: Выделить всё


 value 1


 value 2



На данный момент я не получаю никаких ошибок, но мой терминал, на котором размещено приложение, показывает, что запрос GET происходит каждый раз, когда я нажимаю кнопку «Отправить».

Код: Выделить всё

"GET /function?value-1=1&value-2=2&value-3=3&value-4=4&value-5=5&value-6=6&value-7=7&value-8=8&value-9=9&value-10=10&value-11=11&value-12=12&value-13=13 HTTP/1.1"
Я новичок в FastAPI, Javascript и не совсем понимаю, как объекты JSON передаются между JS и Python. Пример использования input_data, который я опубликовал ранее, предназначен для того, чтобы разбить его на основы. Если я не смогу понять, как отправить строку в FastAPI, отправка всего словаря, вероятно, будет бесполезной.
Обновление:
Я думаю, что Javascript полностью игнорирует мой eventListener и выполняет действие GET, когда я нажимаю кнопку «Отправить».
Обновление:
Это отличается от других ответов (Как отправить значение HTML-формы с помощью шаблонов FastAPI и Jinja2?) в том, что форма динамична. Ответ требует знания того, какие поля присутствуют. Поскольку моя форма динамическая, мне нужно автоматизировать обработку полей.

Подробнее здесь: https://stackoverflow.com/questions/791 ... to-fastapi
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»