首页 > 解决方案 > Python 字典列表在 javascript GET 处理程序中未正确转换

问题描述

我在 Javascript Ajax 函数中从 views.py 发送数据,但它没有将字符串转换为 dict 这是我的代码 ///////////////////// ///////////views.py

def SortShop(request,shortby):
    items = Item.objects.order_by(shortby)
    item_list = []
    for item in items:
      item_list.append({'name':item.item_name,'title':item.item_titile,
                          'pricse':item.item_FrashPricse,'dicsount':item.item_Discount_pricse,
                          'image':item.item_image})

return HttpResponse([item_list])

///////////////////////////////////ajax函数

$('#sorting').on('change', function(e) {
        selected_value = this.value
        $.ajax({
            type: 'GET',
            url: '/shopsorting/' + selected_value,
            // data: formData,
            encode: true,
            success: function(data) {
                y = JSON.stringify(data)
                x = JSON.parse(y)
                console.log(x)

            }

        });
    });
    });

/////////////////////////结果是

[{'name': 'Shoulder Bag',
  'title': 'Boys Shoulder Bag (Yellow )',
  'pricse': 15.99,
  'dicsount': 0.0,
  'image': <ImageFieldFile: man-1.jpg>},
 {'name': 'Sweeter',
  'title': 'Cotton Sweeter',
  'pricse': 19.9,
  'dicsount': 0.0,
  'image': <ImageFieldFile: product-6.jpg>},
 {'name': 'Shirt',
  'title': 'Full Sleeves Shirt',
  'pricse': 20.99,
  'dicsount': 12.99,
  'image': <ImageFieldFile: man-4.jpg>},
 {'name': 'Jacket',
  'title': 'Jackson Jacket',
  'pricse': 20.25,
  'dicsount': 0.0,
  'image': <ImageFieldFile: man-3.jpg>},
 {'name': 'Yellow Shoes',
  'title': 'Leopard Shoes',
  'pricse': 29.99,
  'dicsount': 25.99,
  'image': <ImageFieldFile: man-2.jpg>},
 {'name': 'Bag',
  'title': 'Mini Cary Bag',
  'pricse': 14.99, 'dicsount': 12.99,
  'image': <ImageFieldFile: women-4.jpg>},
 {'name': 'Coat',
  'title': 'Overcoat (Gray)',
  'pricse': 17.7,
  'dicsount': 0.0,
  'image': <ImageFieldFile: product-3.jpg>},
 {'name': 'TOWEL',
  'title': 'Pure Pineapple',
  'pricse': 19.9,
  'dicsount': 0.0,
  'image': <ImageFieldFile: women-2.jpg>},
 {'name': 'Coat',
  'title': 'Pure Pineapple',
  'pricse': 17.9,
  'dicsount': 11.9,
  'image': <ImageFieldFile: product-1.jpg>},
 {'name': 'TOWEL',
  'title': 'Pure Pineapple (White)',
  'pricse': 17.9, 'dicsount': 0.0,
  'image': <ImageFieldFile: product-2.jpg>}]

标签: javascriptpythondjangoajax

解决方案


推荐阅读