Запрос колбы возвращает None; но Ajax Post успешен - PullRequest
0 голосов
/ 07 мая 2018

В колбе я использую запрос GET, чтобы сначала отобразить шаблон и получить данные, выбранные пользователем.

@app.route('/surveys', methods=['POST', 'GET'])
def register_form():
    if request.method == 'GET':
        return render_template('survey_table.html')
    else:
        example = request.json
        return json.dumps(example)

Эти данные (то есть #id флажков, выбранных в таблице) затем отправляются обратно в FLASK с помощью запроса Post ajax. Поскольку данные изначально были массивом, я использовал JSON.stringify

    $(document).ready(function() {
    $('#submit').click(function() {
        var list = [];
        var checkBoxes = $('#surveyDetails').find("input[type='checkbox']:checked");
        checkBoxes.each(function() {
        var currentRow = this.parentNode.parentNode;
        list.push(currentRow.getElementsByTagName("td")[0].innerText);
        });
        // now names contains all of the names of checked checkboxes
        $.ajax({
            contentType: "application/json",
            url: '/surveys',
            type: 'POST',
            data: JSON.stringify({'Hello': list}),
            success: function (result) {
                alert(result);
            },
            error: function (result) {
                alert("error!");
            }
        });   //end ajax
    });
});

Проблема:

Я вижу, что сообщение ajax успешно выполнено, так как я могу видеть выбранные идентификаторы как предупреждение, как только я нажимаю кнопку отправки. Однако при возвращении этого объекта JSON в фляге я всегда получаю нулевой ответ.

Я уже пробовал get_json (force = True). Все тот же результат.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...