<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
</head>
<body>
<input type="number" id="input-id" />
<button onclick="getValue()">Получить значение</button>
<script>
function getValue() {
let input = document.getElementById('input-id');
let value = input.value;
console.log(value);
}
</script>
</body>
</html>
from flask import Flask, render_template
app = Flask(__name__)
@app.route('/', methods=['GET'])
def index():
return render_template("index.html")
if __name__ == "__main__":
app.run(debug=True)
function getValue()
{
let xhr = new XMLHttpRequest();
xhr.open("POST", "" /*<- тут должен быть адрес скрипта на сервере, где будет обработка запроса */, true);
// создаем виртуальную форму, чтобы нагрузить запрос параметрами
let t_form = new FormData();
// нагружаем параметром форму
t_form.append("input-id", document.getElementById('input-id').value);
// ... еще какой-то параметр
// t_form.append("какой-то параметр", "какое-то значение");
// callback функция ответа
xhr.onreadystatechange = function(e)
{
// состояние, когда ответ сформирован
if(xhr.readyState === 4 && xhr.status === 200)
{
// что-то делаем с ответом, например выводим сообщение
alert(xhr.responseText);
}
};
// отправляем запрос на сервер, нагружаем его формой с параметрами
xhr.send(t_form);
}
async function getValue() {
const input = document.querySelector('#input-id');
try {
const res = await fetch('/', {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({'value': input.value})
});
if (res.ok) {
console.log('Send success!');
} else {
throw new Error(`Send error, ${res.statusText}`);
}
} catch (error) {
console.error('Error', error);
}
}
from flask import Flask, render_template, request, jsonify
import json
app = Flask(__name__)
@app.route('/', methods=['GET', 'POST'])
def index():
if request.method == 'GET':
return render_template('index.html')
elif request.method == 'POST':
try:
data = request.json
if 'value' in data:
value = validate(data['value'])
return jsonify({'message': 'Success!', 'value': value}), 200
else:
raise KeyError('Value key not found')
except (KeyError, json.JSONDecodeError) as e:
return jsonify({'error': 'Invalid data format'}), 400
def validate(value):
return value
if __name__ == '__main__':
app.run(debug=True)