Как вернуть ответ JSON в HttpResponseServerError Джанго? - PullRequest
0 голосов
/ 08 января 2019

Я пишу приложение на 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 голосов
/ 08 января 2019

В вашем views.py попробуйте вернуть:

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

В вашем шаблоне вместо data.error попробуйте:

data.responseText
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...