我是 JavaScript 的初学者,我正在尝试编写一个脚本来检查网站是否存在,比方说https://example.com
返回 404 状态代码或 200,根据结果,我将访问它或不访问它。我正在前端执行此操作。我没有服务器端,因为该网站是静态网站,不使用数据库。
我正在使用 XMLHttpRequest 执行此操作。
url = $("#foo").attr("href")
function UrlExists(ur)
{
var http = new XMLHttpRequest();
http.open('GET', ur, true);
http.setRequestHeader("Access-Control-Allow-Origin", "http, https");
http.setRequestHeader("Access-Control-Allow-Methods", "PUT, GET, POST, DELETE, OPTONS");
http.setRequestHeader("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept, Authorization")
http.send();
console.log(http.status);
}
UrlExists(url)
问题是当我运行此脚本时,抛出以下异常:
访问 XMLHttpRequest'http://example.com'
来自原点“null”已被 CORS 策略阻止:对预检请求的响应未通过访问控制检查:请求的资源上不存在“Access-Control-Allow-Origin”标头。
从我到目前为止读到的内容来看,这更像是 CORS 问题而不是 JavaScript,而且到目前为止我还找不到解决方案。
有人可以帮助我解决这个问题并解释为什么吗?
我已经检查了有关 SO 的其他问题,到目前为止,我没有找到可行的解决方案。如果有的话,我也愿意接受其他解决方案。太感谢了!
我非常感谢您的宝贵时间!
更新1:不幸的是,我仍然在这个问题上挣扎。我已经阅读了很多有关 CORS 策略的内容,问题是我不知道应该如何安全地允许标头通过请求从我的服务器发送到另一台服务器。
资源是:一个 HTML 页面和其中的一些 JS 代码。正如我上面提到的,我试图从我的网站向另一个网站发送请求,以检查该网站的状态,如果弹出 404,我想重定向我的用户。