我的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})
“
答案 0 :(得分:3)
您可以尝试JsonResponse个对象。
from django.http import JsonResponse
return JsonResponse({'foo':'bar'})