您好我有一个Django网站,其中有jquery用于ajax调用。
该网站正在进行多次AJAX调用,而来自Django的500 ERROR
失败的调用带有一个Response头文本/ plain,如果我在浏览器中重写错误的url,我看到没有{{1}响应,但text/plain
。为什么? (我看到text/html
标题与ajax调用accept
和标准浏览器调用*/*
不同)
我需要始终使用text / html,因为如果我的一些ajax调用失败,我想在服务器中保存答案(再次使用AJAX)并且能够稍后分析它(具有完整的详细信息,而不仅仅是关于调试信息减少的普通/文本。)
我尝试将text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
和accept:"text/html"
添加到ajax调用中但没有结果。
谢谢,
答案 0 :(得分:0)
看看这里:https://docs.djangoproject.com/en/dev/howto/error-reporting/
当您在生产服务器上运行时(DEBUG = False)Django应该向您发送一封电子邮件,其中包含您在ADMIN变量中包含的所有电子邮件的错误详情
您可以像这样设置ADMIN变量
ADMINS = (
('jeff', 'jeff@domain.com'),
)
您无需尝试从浏览器端记录错误。相反,你只需要很好地失败
答案 1 :(得分:0)
当您正在开发中时,只需在浏览器中直接加载AJAX URL即可。您将看到正常的完整堆栈跟踪。处理它,直到你得到真正的响应(JSON等),然后回到在其余代码的范围内测试它。