Javascript 当响应为text/html时,jQuery$.getJSON()方法是否应该失败?

Javascript 当响应为text/html时,jQuery$.getJSON()方法是否应该失败?,javascript,jquery,json,content-type,getjson,Javascript,Jquery,Json,Content Type,Getjson,当我们尝试使用$.getJSON()函数获取HTML时,是否可以强制该函数引发错误(而不是应用程序/json)。似乎这个延迟只是将空对象返回给then(或done) 我们如何在中找到作为响应处理的内容类型处理程序? 当服务不可用时,服务器可以返回HTML而不是JSON。当响应为text/HTML时,getJSON()将失败。请参见此示例: $.getJSON('http://httpbin.org/html') 。然后(()=>console.log('success'),()=>consol

当我们尝试使用
$.getJSON()
函数获取HTML时,是否可以强制该函数引发错误(而不是
应用程序/json
)。似乎这个延迟只是将空对象返回给then(或done)

我们如何在
中找到作为响应处理的
内容类型
处理程序?
当服务不可用时,服务器可以返回HTML而不是JSON。当响应为
text/HTML
时,getJSON()将失败。请参见此示例:

$.getJSON('http://httpbin.org/html')
。然后(()=>console.log('success'),()=>console.log('error'))

当响应为空时,为什么不在处理程序中抛出一个异常呢?实际上很简单,如果状态为20x,并且响应可以由$.parseJSON成功解析,则认为成功。它忽略了内容类型,因为开发人员经常忘记返回它。您应该在中测试null。然后,如果它是null或空字符串(或修复服务器),则会导致承诺被拒绝。谢谢,确实如此,似乎我们在某处使用了$.ajax,但没有指定正确的内容类型。