Почему json.dumps () выдает 500 внутреннюю ошибку сервера при использовании переменных? - PullRequest
2 голосов
/ 30 июня 2011

Я тщательно проверил это, и я понятия не имею, почему он это делает, поэтому мне было интересно, если кто-нибудь может объяснить ...

json.dumps () выдает 500 внутреннюю ошибку сервера, когдаЯ пытаюсь использовать переменную вместо строки.

Например:

error = 'Login Failed:  Your username or password is incorrect.'
test = json.dumps({'form': error})

вернет 500 внутреннюю ошибку сервера при попытке вернуться через jQuery.ajax

Тем не менее,

test = json.dumps({'form': 'Login Failed:  Your username or password is incorrect.'})

не будет выдавать 500 внутренних ошибок сервера.Я тщательно протестировал это с одинарными кавычками, двойными кавычками, различным форматированием и т. Д., И все это указывает на json.dumps ()

. По какой-то причине это происходит только при вызове представления через jQuery.ajax

, даже если я не возвращаю json.dump () и не возвращаю нормальный объект json, он все равно выдает ошибку 500, поэтому я пришел к выводу, что это json.dumps (), а не вызов .ajax **

Вот дополнительный фрагмент кода, в котором я использую это: По неизвестным причинам ... это вызовет ошибку при вызове этой конкретной страницы черезjQuery.ajax ()

Да .. хотя переменная 'test' не возвращается.

        elif(password == 'testing_this'):
             error = 'Login Failed:  Your username or password is incorrect.'
             errors = True

        test = json.dumps({'form': error})
        #print test
        date = datetime.date.today()

        if(errors == True):
            return HttpResponse(json.dumps({'form': 'error message here'}), mimetype='application/json')
        else:
            return HttpResponse(json.dumps({'result': True}), mimetype='application/json')

1 Ответ

0 голосов
/ 30 июня 2011

Включение DEBUG в настройках и прохождение трассировки могут быть полезны.

Просто у стены, я могу предположить, что перед этой проверкой (если (errors == True) :) Вы можете забыть инициализироватьошибки с начальным значением, поэтому он выдает NameError ... Но это всего лишь предположение.

UPD: Извините, ajax-часть ускользнула из моей головы - +1 к комментарию waitinforatrain

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