Django 如何捕获和查看JSON响应?

Django 如何捕获和查看JSON响应?,django,django-serializer,Django,Django Serializer,我有以下视图,从模型中获取数据,然后将其序列化为JSON 视图.py def polling(request): if request.is_ajax(): data = UserReview.objects.filter(movie_id=request.GET['m_id']) serializers.serialize('json', data) return HttpResponse(data, mimetype='applicat

我有以下视图,从模型中获取数据,然后将其序列化为JSON

视图.py

def polling(request):
    if request.is_ajax():
        data = UserReview.objects.filter(movie_id=request.GET['m_id'])
        serializers.serialize('json', data)
        return HttpResponse(data, mimetype='application/json')
    else:
        raise Http404
在客户端,我现在要显示此内容。我正在使用jQuery的函数
getJSON
来归档这个文件。它不会显示任何内容,setTimeout也不起作用。但是,当我用firebug调试它时,会得到一个响应,但是它不会调用
alert()
函数来查看数据。一段时间以来,我一直在想问题出在哪里。所以我想知道我的剧本是否有问题

javascript

function polling() {
    $.getJSON(  "/polling/", 
                {m_id: {{movie_info.id}} },
                function(data) {
                    alert(data)
                    setTimeout(polling, 5000)
                });
    };

我对这一切都不熟悉,但你试过使用吗

$.ajax ({

        url: "/Build/AllStatuses",
        dataType: 'json',
        success: function (buildstatuses)

这就是我过去调用json的方式,它似乎可以工作。

一些通用方法可以帮助您找出错误所在

  • 在前端大量使用
    console.log
    ,以确保一切按计划进行

  • 按照注释中建议的回调函数,确保至少记录了一个错误

  • 设置一个调试记录器,确保您可以看到正在发生的事情以及django作为json实际返回的内容

  • 最好把这个坏小子放在你代码中的任何地方,确保一切都正常。如果你的成功没有在前端被调用,我打赌错误在django!找出哪里

  • 如果
    debug=True
    ,您可以在firebug的HTML选项卡中查看错误,也可以通过浏览器请求
    /polling/
    ,然后查看django错误屏幕


  • 使用这些工具中的一些或任何一个都会让您处于一个很好的位置来解决问题django dev server使您能够轻松地解决这些错误请做一些研究,找出提供给您的许多调试工具!

    哇,整个网站上有1050万个问题……@blazemonger每次迭代最好回答否?:P@Bla例如,zemonger它实际上是post(问题+答案)。但仍然令人惊讶~如果您使用firebug进行调试,您是否从ajax调用中获得了正确的内容?可能您收到了一个n http错误,并且没有调用回调。试着使用回调来处理错误。@okm,如果您这样说的话。我找不到API文档。;-)是的,我也试过了。它仍然不会将模型的输出显示为JSON。无论如何,它将显示一个简单的httpresponse。所以我有点认为错误可能是在我将模型序列化为JSON时。但是我不确定。