Передача JSON данных из Javascript файла в Flask - PullRequest
0 голосов
/ 23 марта 2020

Прошли часы, я изо всех сил старался передать собранные данные от JavaScript до Flask через Ajax запрос.
Мне кажется, что все в порядке, но когда я пытаюсь извлечь данные из Flask и распечатать их в cmd, получим значение None.

var input_data = {
    'application_data' : application_data,
    'oos_data' : oos_data,
    'vendor_data' : vendor_data,
    'infrastructure_data' : infrastructure_data
}

document.getElementById('submit').addEventListener('click', function(event){
    
    $.ajax({
        url : '/process',
        type : 'POST',
        dataType: 'json',
        data : JSON.stringify(input_data),
        contentType:"application/json; charset=UTF-8",  
        success: function () {
            alert("success");
        }
    })

});

application_data, oos_data, vendor_data ,structure_data --- Все это список
"submit" --- Имя идентификатора кнопки, которая является кнопкой в ​​элементе формы типа = submit
Я хочу передать input_data приложению Flask при отправке формы.

Ниже приведен код в Flask, попытался получить ...

     data = request.form.get('application_data')
     print('Data from JSON',data)

Пробовал также с кодом ниже ....

    data = request.get_json()
    print('Data from JSON',data)

вывод, который я получил в cmd - Данные от JSON Нет
Было бы очень полезно, если бы кто-то мог указать на мою ошибку, указав правильное направление. Заранее спасибо.

1 Ответ

0 голосов
/ 25 марта 2020

JSON синтаксическим анализаторам требуются двойные кавычки вокруг строк, и поскольку ключи в JSON являются строками, они требуются там. Поэтому измените input_data на:

{
    "application_data" : application_data,
    "oos_data" : oos_data,
    "vendor_data" : vendor_data,
    "infrastructure_data" : infrastructure_data
}

Тогда request.get_json() должно работать в вашем Flask, если ваш JSON действителен.

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