Ajax Django从视图返回状态代码400和错误消息
我有一个通过ajax接收表单提交请求的视图。有时,它会根据某些条件返回错误的请求,或者在引发异常的情况下返回错误的请求。现在,发送回简单的HttpResponse(status=400)非常简单。我可以发送一个原因吗?一个我可以使用xhr.responseText访问的原因吗?如果我理解正确,您可以返回400,并附带一些上下文:Ajax Django从视图返回状态代码400和错误消息,ajax,django,Ajax,Django,我有一个通过ajax接收表单提交请求的视图。有时,它会根据某些条件返回错误的请求,或者在引发异常的情况下返回错误的请求。现在,发送回简单的HttpResponse(status=400)非常简单。我可以发送一个原因吗?一个我可以使用xhr.responseText访问的原因吗?如果我理解正确,您可以返回400,并附带一些上下文: context = { 'reason': 'your reason' } response = render(request, '400.html', cont
context = {
'reason': 'your reason'
}
response = render(request, '400.html', context)
response.status_code = 400
return response
对于使用ajax的情况,您只需返回HttpResponse:
context = {
'status': '400', 'reason': 'you can access this view only via ajax'
}
response = HttpResponse(json.dumps(context), content_type='application/json')
response.status_code = 400
return response
在js代码中:
$.ajax({
// ...
// ...
}).fail(function(data){
var status = data.status;
var reason = data.reason;
});
我喜欢这种以这种方式发送响应的方法。谢谢@doniyor
response=render(请求,'400.html',上下文)response.status\u code=400返回response
这不起作用。当状态代码被传递时,消息不会被传递。