我正在尝试通过JavaScript检查/验证URL是否存在。 我找到了一些应该可以工作的代码。
但是,我遇到了 CORS 错误。 似乎我的请求一直被阻止:
在"https://www.google.co.uk/"访问XMLHttpRequest (重定向( 从"http://www.google.co.uk/"(从源"空"已被阻止 通过 CORS 策略:上不存在"访问控制允许源"标头 请求的资源。
如何在没有服务器端代码的情况下使用 JS 解决此问题? 我想完全在前端/客户端处理这个问题:
var MrChecker = new XMLHttpRequest(),
CheckThisUrl = "http://www.google.co.uk";
// Opens the file and specifies the method (get)
// Asynchronous is true
MrChecker.open('get', CheckThisUrl, true);
//check each time the ready state changes
//to see if the object is ready
MrChecker.onreadystatechange = checkReadyState;
function checkReadyState() {
if (MrChecker.readyState === 4) {
//check to see whether request for the file failed or succeeded
if ((MrChecker.status == 200) || (MrChecker.status == 0)) {
console.log(CheckThisUrl + ' page is exixts');
}
else {
console.log(CheckThisUrl + ' not exists');
return;
}
}
}
MrChecker.send(null);
我找到了一个解决方案,它鼓励使用fetch(( API,它绕过了 CORS 错误/块。
但是,我不确定使用这种方法是否有任何缺点/缺点?
它似乎做了我需要它做的事情......要检查互联网上是否存在 URL,请执行以下操作:
const url = "https://www.google.com/";
$.ajax({
url: url,
dataType: 'jsonp',
statusCode: {
200: function() {
console.log( "status code 200 returned" );
},
404: function() {
console.log( "status code 404 returned" );
}
},
error:function(){
console.log("Error");
}
});