无法将多个查询的数据发送到 Django 中的 ajax 调用

我想传递两个名为mydataand 的数据查询结果yourdata,问题是当我只发送mydata或yourdata然后它工作正常但是当我发送上下文变量时它根本不起作用,我是新手,django所以任何形式的帮助都将不胜感激,谢谢.


@csrf_exempt

def snippetrequests(request):

    import json

    mydata=changerequest.objects.filter(owner_id=request.user.id)

    yourdata=changerequest.objects.filter(user_id=request.user.id)

    mydata=serializers.serialize('json',mydata)

    yourdata=serializers.serialize('json',yourdata)

    if request.method == 'GET':

       context = {

          'mydata':mydata ,

          'yourdata':yourdata

               }

    return HttpResponse(context, content_type="application/json" ) 

我使用这样的 AJAX 从中获取数据


$.ajax({

    url: '/snippetrequests/',

    type: 'GET',

    data={},

    success: function(data) {

        // alert(data);

         alert(data)

        console.log(data)

        var div1 = document.getElementById('snippet');   

    },

    failure: function(data) { 

        alert('Got an error dude');

    }

});  


慕码人8056858
浏览 127回答 2
2回答

慕丝7291255

您已经序列化了模型数据,但没有序列化您的直接响应;它仍然是字典格式。因此,HTTPResponse很可能只是返回一个有点像 JSON 的字符串,而不是实际的 JSON。使用json.dumps作为您的部分return发言。return HttpResponse(json.dumps(context), content_type="application/json")或者更好的是,如果您使用的是 Django 1.7+,请使用该JsonResponse对象:from django.http import JsonResponse. . .return JsonResponse(context)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python