【发布时间】:2020-03-10 08:11:26
【问题描述】:
我想检查是否可以使用 XMLHttpRequest 访问网站。
我写了一个 JS 函数:UrlExsists(url);尝试建立连接。
function UrlExists(url) {
var http = new XMLHttpRequest();
http.open('HEAD', url, false);
http.send();
if (http.status != 404) {
console.log("did work:" + url)
} else {
console.log("did not work:" + url)
}
};
当我转到浏览器控制台并像这样调用函数时:UrlExsists("https://www.google.com/");,控制台中会显示以下内容:
“XHR HEAD https://www.google.com/ [HTTP/2.0 200 OK 668ms]”
但由于“跨域请求被阻止”而失败并发生网络错误。 = >img as reference
如果我调用UrlExsists("https://www.google.com/test");,则会显示以下内容:
“XHR HEAD https://www.google.com/test [HTTP/2.0 404 Not Found 0ms]”
再次出现“跨源请求被阻止”和网络错误。 => img as reference
现在这些状态码 404 和 200 正是我想要的,但是我如何在 javascript 中获取这些,以确定给定的网站是否可用?
如果我走错了路,有人可以向我点头致意吗?
【问题讨论】:
-
developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/status: “如果出现 XMLHttpRequest 错误,浏览器也会报告状态为 0。” - 因此,如果出现 CORS 错误,您将无法使用此信息.
标签: javascript html xmlhttprequest