哪种情况会导致调用此处理程序?我没有找到此方法抛出错误的任何实例。
我尝试离线设备,我得到xmlHttpRequest.status = 0
但没有错误。
问题是我可以创建哪种情况来测试此处理程序的功能。
var xmlhttp = new XMLHttpRequest(),
method = 'GET',
url = 'https://developer.mozilla.org/';
xmlhttp.open(method, url, true);
xmlhttp.onerror = function () {
console.log("** An error occurred during the transaction");
};
xmlhttp.send();
来自:https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequestEventTarget/onerror
答案 0 :(得分:3)
你的问题就是一个很好的例子。只需在此页面上试用您的Web开发人员控制台中的代码即可。
在这里,亲自尝试一下:
var xmlhttp = new XMLHttpRequest(),
method = 'GET',
url = 'https://developer.mozilla.org/';
xmlhttp.open(method, url, true);
xmlhttp.onerror = function () {
console.log("** An error occurred during the transaction");
};
xmlhttp.send();

在处理任何基于网络的IO时,可能会发生各种各样的事情。跨源请求只有一个。如果服务器处于脱机状态,DNS查找失败,您和服务器之间的关键故障点之间的路由器出现故障怎么办?
答案 1 :(得分:0)
由于XHR调用是针对服务器响应的,因此当服务器出错时,会发生错误。将客户端更改为脱机状态不会模拟服务器错误。
假设服务器资源被移动而服务器响应404错误?如果服务器超时怎么办?如果请求本身格式错误并导致服务器抛出错误怎么办?