我有一个通过ajax接收表单提交请求的视图。有时它会根据某些条件返回错误的请求,或者在引发异常的情况下。现在,发回简单的HttpResponse(status = 400)很简单。我是否可以使用xhr.responseText发送原因以及我可以访问的原因?
答案 0 :(得分:5)
如果我理解你的话,你可以在一些背景下返回400:
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;
});