如何在Django的HttpResponseServerError中返回JSON响应?

时间:2019-01-08 02:12:55

标签: json ajax django

我正在编写一个Python Django应用程序,并在其中返回错误HttpResponseServerError。我还需要返回一些json数据,我可以从中获取消息并在前端显示给用户。所以我是这样的:

from django.http import HttpResponseServerError
def my_test_500_view(request):
        return HttpResponseServerError(json.dumps({'error': 'An error occured'}, content_type="application/json")

但是在我的前端,我似乎无法获得'error'的价值。

在前端Ajax中,我这样做:

$("#input_submit").click(function () {
              var input = $("#input").val();

              $.ajax({
                url: 'my_url',
                data: {
                  'input': input,
                },
                dataType: 'json',
                success: function (data) {
                   console.log(data);
                },
                error: function (data) {
                    console.log(data.error);
                }
              });

            });

console.log(data.error);返回undefined的位置。知道我在做什么错吗?

1 个答案:

答案 0 :(得分:0)

在您的views.py中尝试返回:

 return HttpResponseServerError(json.dumps({'error': 'An error occured'}))

在模板而不是data.error中,尝试:

data.responseText