我一直在找Django和jQuery的方式.我在Django中构建了一个基本的表单.点击提交时,我使用jQuery向服务器发出一个AJAX请求来发布我的数据.这个位似乎工作正常,我设法保存数据.当表单无效时,Django返回ValidationError.有人可以告诉我如何返回这组错误消息作为对我的AJAX请求的响应,所以我可以轻松地使用JS迭代,并做任何事情?
我发现了this片段.看看JS位(processJson),你会看到他似乎通过从响应HTML中提取错误消息来获取错误消息.对我来说似乎有点笨拙.这是最好的办法吗?
我对任何模糊的道歉.
提前致谢.
解决方法
这个问题是老的,但我认为最短的答案可能是这样使用简单的json.
from django.utils import simplejson def ajax(request): if request.method == 'POST': form = someForm(request.POST) if form.is_valid(): form.save() return HttpResponse(something) else: errors = form.errors return HttpResponse(simplejson.dumps(errors)) else: return HttpResponse(something)
现在你可以访问像上面描述的Calvin这样的jquery中的数据.
Jquery可以方便地处理数据,你可以这样做:
var errors = jQuery.parseJSON(data) alert(errors.username)