perehodit
@perehodit

Как передать данные из JS в Flask?

Нужно передать 2 массива textData и digitData из worksheet.js в blueprint.py. Как это можно сделать ?

//worksheet.js
var titles = document.getElementsByTagName('h3')
var buttons = document.getElementsByTagName('button');
var textarea = document.getElementsByTagName('textarea')[0];

var number = 0;

var buttonValue;
var textData = []
var digitData = []

for (var i = 1; i < titles.length; i++) {
    titles[i].style.display = 'none'
}

for (var i = 0; i < buttons.length; i++) {
    buttons[i].onclick = function(){
        buttonValue = Number(buttons[i].value)
    }
}

function next(){
    textData.push(textarea.value)
    digitData.push(buttonValue);
    console.log(digitData);
    console.log(textData);

    titles[number].style.display = 'none';
    number = number + 1;
    titles[number].style.display = 'block';
    textarea.value = '';

    return false;
}


//index.html

{% extends 'base.html' %}
{% block title %}
Анкетирование
{% endblock title %}
{% block content %}
<div class="container">
    <h1>
        Анкетирование
    </h1>
    <h2>
        Администрация дошкольного образовательного учреждения с целью изучения удовлетворенности родителей качеством услуг дошкольной образовательной организации проводит анкетирование. Уважаемые родители, просим Вас ответить на вопросы анкеты. Обратите внимание, что сохранение данных возможно только, если вы ответите на все вопросы анкеты. Время заполнения анкеты не ограничено. Анкета анонимна. Выражаем благодарность за помощь. Все комментарии обязательны к заполнению
    </h2>
    <div class="worksheet_container">
        {% for question in questions %}
          <h3>{{ question.id }}. {{ question.text }}</h3>  
        {% endfor %}
        <form action="" onsubmit="return next();">
            <div class="worksheet_buttons">
                <button type="submit" value="2">
                    Полностью удовлетворен
                </button>
                <button type="submit" value="1">
                    Частично не удовлетворен
                </button>
                <button type="submit" value="0">
                    Затрудняюсь ответить
                </button>
                <button type="submit" value="-1">
                    Частично удовлетворен
                </button>
                <button type="submit" value="-2">
                    Cовершенно не удовлетворен
                </button>
            </div>
            <textarea name="" id="" cols="50" rows="15" placeholder="Введите коментарий" required></textarea>
        </form>
        <script src="{{ url_for('static', filename='js/worksheet.js') }}"></script>
    </div>
</div>
{% endblock %}

//blueprint.py
from flask import Blueprint, render_template
from models import Questions
from app import db

worksheetsys = Blueprint('worksheetsys', __name__, template_folder='templates')

@worksheetsys.route('/')
def index():
	questions = Questions.query.order_by(Questions.id).all()
	return render_template('worksheetsys/index.html', questions=questions)
  • Вопрос задан
  • 446 просмотров
Решения вопроса 1
darqsat
@darqsat
PM
Сделай ендпоинт в фласке на POST и смотри содержимое Body, а на JS используй axios. Объедини два масива в один и отправь постом в боди на ендпоинт фласка.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы