django queryset 查询如何返回 json 内容

2017-04-01 11:22:08 +08:00
 fanne

views.py

def add_game_item(request):
    if request.is_ajax():
        platformId = request.POST.get("platformId")
        plantName = plat_info.objects.filter(plat_id=platformId)
        # host_list = host_info.objects.filter(plat_name=plantName)
        mysql_list = mysql_info.objects.filter(plat_name=plantName)
        json_data = serializers.serialize("json", plantName)
        print json_data
        return JsonResponse(json_data,safe=False)

html ajax 内容

{% endblock %}
{% block bottom-js %}
    <script type="text/javascript">
        $(document).ready(function () {
            $("#id_select").change(function () {
                {#alert('平台 id :'+$("#id_select").val())#}
                $.ajax({
                    type:"POST",
                    url:"/items/add_game_item/",
                    data:{platformId:$("#id_select").val()},
                    cache:false,
                    dateType:"json",
                    success:function (data) {
                        alert(data);
                        alert(data.length)
                        alert(typeof data)
                    }
                });
                return false;
            })
        })
    </script>
{% endblock %}

其中 alert(data)内容如下:

alert(typeof data)内容如下:

data 返回是一个 string 值,那么 views.py 里怎样处理才能返回一个 json 值给前端?

3603 次点击
所在节点    Django
6 条回复
fanne
2017-04-01 14:26:13 +08:00
已解决,前端转 json 对象
var data_json = JSON.parse(data)
robinlovemaggie
2017-04-01 14:41:34 +08:00
上 djangorestframwork 开启序列化即可
baiyi
2017-04-01 14:45:50 +08:00
Response Headers 中应该有 `Content-Type:application/json; charset=utf-8`
Gothack
2017-04-01 14:45:59 +08:00
我习惯用 return HttpResponse(json.dumps(result,sort_keys=True), content_type="application/json")
daveze
2017-04-01 15:30:44 +08:00
使用 django-restframwork
fanne
2017-04-01 17:01:36 +08:00
@daveze @robinlovemaggie 妥,可以。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/351942

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX