Javascript 如何判断XMLHttpRequest是否由于网络问题而失败?

Javascript 如何判断XMLHttpRequest是否由于网络问题而失败?,javascript,web,dart,Javascript,Web,Dart,在web编程(JavaScript、Dart等)中,如何判断XMLHttpRequest(又名AJAX)请求是否由于网络错误而失败 我将网络错误定义为DNS、TCP、连接问题等 谢谢 通常,AJAX调用的答案带有状态代码和responseText属性,如果您可以访问来自调用的数据,请尝试读取data.status和data.responseText,看看是否正确获取它们(200表示成功,500表示内部服务器错误等)。,在响应中返回的响应代码是什么,如果该代码返回500,则表示存在服务器问题。在D

在web编程(JavaScript、Dart等)中,如何判断XMLHttpRequest(又名AJAX)请求是否由于网络错误而失败

我将网络错误定义为DNS、TCP、连接问题等


谢谢

通常,AJAX调用的答案带有状态代码和responseText属性,如果您可以访问来自调用的数据,请尝试读取data.status和data.responseText,看看是否正确获取它们(200表示成功,500表示内部服务器错误等)。

,在响应中返回的响应代码是什么,如果该代码返回500,则表示存在服务器问题。

在Dartium中,至少在Chrome JS中,您可以通过点击状态为零的readyState==4(“完成”)来检测故障。 零不是有效的服务器响应,所有HTTP服务器响应都大于100,因此这意味着它实际上没有到达服务器(或者至少服务器没有说正确的HTTP)

onError流也将在此时获得一个进度事件


在同步模式下,将抛出错误。

请看一看-超时并不总是有效。我在关闭服务器的情况下进行了本地测试,XHR请求立即失败。在某些情况下,超时可能是一个指标。500还表示存在服务器错误(例如,坏的数据库驱动程序导致异常)。因此,我不能依赖500来表示网络问题。那么,status和responseText的值是多少,它们表示由于某些网络问题,请求从未发送到服务器?