当您从浏览器中的脚本发出 XMLHttpRequest 请求时,如果浏览器设置为脱机工作,或者如果网络电缆被拔出,请求将以错误和 status = 0完成。0不在允许的 HTTP 状态代码中列出。
0的状态码是什么意思?对于所有浏览器和所有 HTTP 客户端实用程序来说,这是否意味着同样的事情?它是 HTTP 规范的一部分还是其他协议规范的一部分?这似乎意味着根本无法发出 HTTP 请求,可能是因为无法解析服务器地址。
什么样的错误消息适合显示给用户?“要么你没有连接到互联网,要么网站遇到了问题,要么地址中可能有一个输入错误”?
我应该补充一点,我在火狐中看到当设置为“脱机工作”时的行为,但是当设置为“脱机工作”时却没有看到 Internet Explorer。在 IE 中,用户会得到一个对话框,提供联机选项。FireFox 在返回错误之前不会通知用户。
我这样要求是为了回应“显示更好的错误消息”的请求。Internet Explorer 做的是好事。它告诉用户是什么导致了问题,并给他们选择修复它。为了给出一个与 FireFox 相当的用户体验,我需要推断出问题的原因,并通知用户。那么,从状态0中我总共可以推断出什么呢?它是有普遍的意义,还是什么都没有告诉我?