为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕码人8056858 2021-07-15 17:11:15
我想传递两个名为mydataand 的数据查询结果yourdata,问题是当我只发送mydata或yourdata然后它工作正常但是当我发送上下文变量时它根本不起作用,我是新手,django所以任何形式的帮助都将不胜感激,谢谢.@csrf_exemptdef 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');    }});  
查看完整描述

2 回答

?
慕丝7291255

TA贡献1859条经验 获得超6个赞

您已经序列化了模型数据,但没有序列化您的直接响应;它仍然是字典格式。因此,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)


查看完整回答
反对 回复 2021-07-27
  • 2 回答
  • 0 关注
  • 125 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信