Python объект для JSON для JQuery - PullRequest
0 голосов
/ 19 ноября 2018

У меня есть код, который дает мне объект.Я хотел бы отправить этот объект в jquery (ajax).

def create(country):
class Operator:
    def __init__(self, name, id, a,b,c):
        self.name = name
        self.operator_id = id
        self.product_type = self.Products(a,b,c)

    class Products:
        def __init__(self ,a,b,c):
            self.name = "Data"
            self.product_info = self.Items(a,b,c)


        class Items:
            def __init__(self, a,b,c):
                self.min_value = a
                self.max_value = b
                self.currency = c



data = []

for operator in country.product_details:
   provider_name = get_provider(operator)
   product_name = get_product(operator)

   data.append(Operator(provider_name.name, provider_name.provider_id, 
                        operator.a ,operator.b, operator.c))


return data 

Это возвращает массив объектов с данными в нем.Посмотрев в Интернете, я обнаружил, что

json.dumps(data, indent=4, default=lambda x: x.__dict__)

- это способ конвертировать его в json для ajax.Console.log показывает, что jquery получает указанные ниже данные в виде строки с одним строком.

[
{
    "name": "test",
    "operator_id": 1,
    "product_type": {
        "name": "Data",
        "product_info": {
            "min_value": 1,
            "max_value": 1,
            "currency": "test"
        }
    }
},

Мой код Javascript.

$(function()
{

$('.search-form').on('submit', function (event)
    {
        event.preventDefault();

        $.ajax(
            {
                url: '/getprod',
                data: $('form').serialize(),
                type: 'POST',
                cache: false,
                success: function (response) {
                    console.log(response);
                    $(response.name).each(function(){
                        console.log ("works")
                    });

                },
                error: function (error) {
                    console.log(error);
                }
            }
        );

    }
)
}
)

Я пытаюсь сделать для каждого из них, но это не работает.Что я делаю не так?

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