繁体   English   中英

如何检查是否没有“ Access-Control-Allow-Origin”标头错误

[英]How to check for No 'Access-Control-Allow-Origin' header error

在JavaScript中使用XMLHttpRequest时,是否可以区分以下两个错误(GET完全失败/没有“ Access-Control-Allow-Origin”标头)?

错误日志

显然,readyState和XMLHttpRequest对象的状态没有区别。 我尝试使用window.onerror捕获所有错误,但是显然,这两个错误不会触发回调函数。

最好的做法是防止此错误发生在最开始。 通过确保服务器将您尝试从脚本中访问的域添加到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.");
}

详细信息: https : //developer.mozilla.org/zh-CN/docs/Web/API/XMLHttpRequest/Using_XMLHttpRequest#Asynchronous_request

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM