使用ajax显示queryset时未定义

时间:2016-01-09 08:42:20

标签: javascript jquery ajax django-templates

这里是views.py

if request.is_ajax():
        minpricestore = list(StoreProduct.objects.filter(product__id=productobj).values_list('store__StoreName' , flat=True).annotate(Min('price')))
        print minpricestore
        minprice = list(StoreProduct.objects.filter(product__id=productobj).values_list('price' , flat=True).annotate(Min('price')).order_by('price'))
        print minprice
        minId =  list(StoreProduct.objects.filter(product__id=productobj).values_list('store__id' , flat=True).annotate(Min('price')).order_by('price'))
        print minId

        data = {
        'minpricestore' : minpricestore , 
        'minprice' : minprice , 
        'minId' : minId
        }

        JsonResponse(data)

这是ajax脚本

<script type="text/javascript">
          function sendProduct(event, productId) {
        event.preventDefault();   
        var data = { productId : productId };
        // Send productId as query param of url
        $.ajax({        
            type: "GET",
            url: "{{instance.get_absolute_url}}",
            data: data,
            success: function(data) {
                alert(data.minprice)
            },
            error: function(response, error) {
                alert(error);  
            }
        });
    }
</script>

这是查询集

minpricestore : [u'z store']
minprice: [1999]
minId:[1]

当我在console.log中显示未定义的

ajax工作正常,但无法显示queryset。我在使用alert时未定义。我可以做什么来显示上面的查询集?在此先感谢

1 个答案:

答案 0 :(得分:0)

在Ajax调用中添加打开的dataType

dataType: "json",