У меня есть код, который дает мне объект.Я хотел бы отправить этот объект в 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);
}
}
);
}
)
}
)
Я пытаюсь сделать для каждого из них, но это не работает.Что я делаю не так?