在JavaScript中使用XMLHttpRequest时,是否可以区分以下两个错误(GET完全失败/ No' Access-Control-Allow-Origin'标题)?
显然,XMLHttpRequest对象的readyState和status不会有所不同。我试图使用window.onerror来捕获所有错误,但显然,这两个错误不会触发回调函数。
答案 0 :(得分:0)
您最好的行动方案是防止此错误发生在首位。通过确保服务器将您尝试从脚本访问的域添加到Access-Control-Allow-Origin设置,您无需在客户端处理它。
也就是说,您应该能够将处理程序附加到XMLHttpRequest对象的错误事件。使用错误消息,您可以确定出错了什么;但这没什么兴趣。客户端出了什么问题并不重要,只是它不会得到它的数据,所以你可以做出相应的计划。
var oReq = new XMLHttpRequest();
oReq.addEventListener("error", transferFailed);
oReq.open();
function transferFailed(evt) {
console.log("An error occurred while transferring the file.");
}