我试图检测XMLHttpRequest()由于交叉原始错误而不是错误请求而失败.例如:
ajaxObj=new XMLHttpRequest()
ajaxObj.open("GET", url, true);
ajaxObj.send(null);
Run Code Online (Sandbox Code Playgroud)
考虑4个网址案例:
情况1: url是正确设置access-control-allow-origin的有效地址
http://192.168.8.35我Access-Control-Allow-Origin: *在标头中设置了一个服务器情况2: url是现有服务器上的无效地址
http://xyz.google.com服务器响应的位置,但它不是有效请求情况3: url是一个不存在的服务器IP地址
http://192.168.8.6在我的本地网络上没有任何响应案例4: URL是一个有效的地址在访问控制允许来源是不设置
http://192.168.8.247我在标头中没有 Access-Control-Allow-Origin: *设置的服务器问题是:如何区分案例4(访问控制允许来源错误)和案例2和3?
在案例4中,Chrome调试控制台显示错误:
XMLHttpRequest cannot load http://192.168.8.247/. Origin http://localhost is not allowed by Access-Control-Allow-Origin.
如何在Javascript中识别该错误?
我试图找到一些迹象,ajaxObj但与案例2和3相比似乎没有什么不同.
这是我使用的简单测试:
<!DOCTYPE html PUBLIC "-//W3C//DTD …Run Code Online (Sandbox Code Playgroud)