Как получить доступ к значениям из словаря в Javascript - PullRequest
1 голос
/ 18 июня 2020

Я пытаюсь получить свое поле item_id из model.py в django в форме набора запросов ниже

<QuerySet [<Item: Shoulder Bag Boys Shoulder Bag (Yellow )>,
<Item: Sweeter Cotton Sweeter>,
<Item: Shirt Full Sleeves Shirt>, <Item: Jacket Jackson Jacket>, 
<Item: Yellow Shoes Leopard Shoes>, 
<Item: Bag Mini Cary Bag>, <Item: Coat Overcoat (Gray)>,
<Item: TOWEL Pure Pineapple>,
<Item: Coat Pure Pineapple>, <Item: TOWEL Pure Pineapple (White)>]>

Вот мой JS Код

 $.ajax({
            type: 'GET',
            url: '/shopsorting/' + selected_value,
            // data: formData,
            encode: true
        })
        .done(function(data) {
            items = JSON.parse(data)
            console.log(items)
            for (var item in items) {
                console.log(item['product_id'])
            };

Но он печатается в консоли

`(index):765
{items: "<QuerySet [<Item: TOWEL Pure Pineapple>, <Item: Ba…s Leopard Shoes>, <Item: Jacket Jackson 
Jacket>]>"}

(index):767 undefined`

1 Ответ

1 голос
/ 18 июня 2020

Попробуйте преобразовать данные в строку перед ее получением:

x = JSON.stringify(data); 
items = JSON.parse(x);

Не забудьте ';'

    $.ajax({
            type: 'GET',
            url: '\/shopsorting\/' + selected_value,
            // data: formData,
            encode: true,
            success: function(data) {
                x = JSON.stringify(data);
                items = JSON.parse(x);
                console.log(items);
                for (var item in items) {
                    console.log(item['product_id'])
                };
}});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...