【发布时间】:2017-01-31 06:37:11
【问题描述】:
当我们尝试使用它获取 HTML 时,是否可以强制 $.getJSON() 函数引发错误(而不是 application/json)。似乎这个 deferred 只是将空对象返回给 then(或 done)。
我们如何在then 处理程序中找到content-type 被处理的响应?
当服务不可用时,我遇到服务器可以返回 HTML 而不是 JSON 的情况。
【问题讨论】:
-
为什么不在响应为空的情况下直接在处理程序中抛出异常呢?
-
其实很简单,如果status是20x并且响应可以被$.parseJSON成功解析,就认为成功了。它忽略了内容类型,因为开发人员经常忘记返回它。您应该在 .then 中测试 null,如果它是 null 或空字符串(或修复服务器),则导致 promise 被拒绝
标签: javascript jquery json content-type getjson