xmlHttpRequest.onerror处理程序用例

时间:2017-07-12 21:35:43

标签: javascript ajax xmlhttprequest onerror

哪种情况会导致调用此处理程序?我没有找到此方法抛出错误的任何实例。

我尝试离线设备,我得到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

2 个答案:

答案 0 :(得分:3)

你的问题就是一个很好的例子。只需在此页面上试用您的Web开发人员控制台中的代码即可。

enter image description here

在这里,亲自尝试一下:



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错误?如果服务器超时怎么办?如果请求本身格式错误并导致服务器抛出错误怎么办?