Я тщательно проверил это, и я понятия не имею, почему он это делает, поэтому мне было интересно, если кто-нибудь может объяснить ...
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')