Django返回无效的ajax响应

时间:2015-04-29 10:06:30

标签: python ajax django

我的django模板文件中有一个ajax调用:

$(document).ready(function () {
    $("button#wdsubmit").click(function(){
        $.ajax({
            type: "post",
            url: "/audit/addwd/",
            data: $('form.wddetails').serialize(),
            dataType: "json",
            success: function(msg){
            alert(msg);
               alert('Added Successfully');
                $("#newwd").modal('hide'); //hide popup
            },
            error: function(msg){
                alert(msg.success);
            }
        });
    });
});

形式:

class WDForm(ModelForm):
    class Meta:
        model = WDModel
        fields = '__all__'

并在django中查看:

def addwd(request):
        if request.method == 'POST':
            updated_request = request.POST.copy()
            updated_request.update({'updated_by': request.user.username})
            form = WDForm(updated_request)
            if form.is_valid():
                form.save()
                response = simplejson.dumps({'success': True})
                return HttpResponse(response, content_type="application/json", mimetype='application/json')
            else:
                response = simplejson.dumps({'error': True})
                return HttpResponse(response , content_type="application/json")

每当我进行Ajax调用时,即使我发送了Success(表示表单有效且数据已成功推送到数据库),它总是会返回错误。

我也尝试发送response = {'success':True}不起作用。

请帮我解决这个问题。

环境详情: Python版本:3.4 Django:1.7 Windows OS 8

我怀疑这一行“response = simplejson.dumps({'success': success})

1 个答案:

答案 0 :(得分:3)

您可以尝试JsonResponse个对象。

from django.http import JsonResponse
return JsonResponse({'foo':'bar'})