1

您好,我有一个带有 jquery 的 Django 网站,用于 ajax 调用。

该站点正在进行多个 AJAX 调用,而那些500 ERROR从 Django 失败的调用带有响应标头文本/纯文本,如果我在浏览器中重写错误的 url,我会看到没有text/plain响应,但是text/html. 为什么?(我看到accept标头不同于 ajax 调用*/*和标准浏览器调用text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8

我需要始终获取文本/html,因为如果我的某些 ajax 调用失败,我想将答案(再次使用 AJAX)保存在服务器中,并能够稍后对其进行分析(包含完整的详细信息,而不仅仅是纯文本/文本这减少了调试信息)。

我尝试将accept:"text/html"和添加contenttype:"text"到 ajax 调用,但没有结果。

谢谢,

4

2 回答 2

0

当您在开发中时,只需在浏览器中直接加载 AJAX URL。你会像往常一样看到完整的堆栈跟踪。处理它直到你得到真正的响应(JSON 等),然后在你的其余代码范围内重新测试它。

于 2012-08-20T14:26:20.863 回答
0

看看这里:https ://docs.djangoproject.com/en/dev/howto/error-reporting/

当您在生产服务器上运行时(使用 DEBUG = False),Django 应该向您发送一封包含错误详细信息的电子邮件到您包含在 ADMIN 变量中的所有电子邮件

您可以像这样设置 ADMIN 变量

ADMINS = (
     ('jeff', 'jeff@domain.com'),
)

您无需尝试从浏览器端记录错误。相反,你只需要很好地失败

于 2012-08-20T10:37:39.630 回答