Я реализую приложение с помощью колбы. В этом приложении есть два входа: один захватывает путь к файлу, который должен быть проанализирован, а другой - имя пользователя. После того, как пользователь нажмет кнопку подтверждения, значение прохода перейдет к функции и будет проанализировано.

Вот как выглядит мой вид колбы:

enter image description here

Это мой код колбы:

@app.route("/index", methods=['GET', 'POST'])
def index():
    if request.method == 'POST':
        data = {}
        data["name"] = request.form.get("name")
        data["path"] = request.form.get("path")
        data["status"] = 'Analysing..'
        db.writeTodb(data)
        return redirect(url_for("index"))

    datas = db.read_all_from_db()
    return render_template("test.html", datas=datas)

@app.route('/process/<int:id>', methods=['GET', 'POST'])
def process(id):


        # do some process and after some seconds put the report in outcome variable

        if 'OK' in outcome:
            status = 'Pass'

        else:
            status = 'Fail'

        db.update_single_line(id, status=status, logs=output)
        return jsonify({"status":status})

И это та часть HTML, поведение которой мне не имеет смысла:

<div class="table-responsive">
            <table id="myTable" class= "table table-striped">
              <thead>
                <tr>
                  <th>Id</th>
                  <th>Name</th>
                  <th>Status</th>
                </tr>
              </thead>
              <tbody>
                  {% for data in datas %}
                    <tr>
                      <td>{{ data.get('id') }}</td>
                      <td>{{ data.get("name") }}</td>
                      <td id="statusID">{{ data.get("status") }}</td>
                    </tr>

                  {% endfor %}
              </tbody>
            </table>
            <script>
                $(document).ready(function() {

                    $('form').on('submit', function(event) {
                      var inputt_path = $('#inputt_path').val();
                      $.ajax({
                        data : {
                          inputt_path : inputt_path
                        },
                        type : 'POST',
                        url : '/process'
                      })
                      .done(function(data) {

                        $('#statusID').html(data.status);

                      });

                      event.preventDefault();

                    });

                  });
              </script>

          </div>

Я собираюсь реализовать его таким образом, чтобы после нажатия кнопки Отправить в таблицу была добавлена одна новая строка, а затем после обработки изменилось значение состояния на основе результата переменной результата в / process route. Но, нажав submit, просто измените значение status во всех строках таблицы, и ajax не будет работать должным образом.

0
J2015