gpt4 book ai didi

javascript - 尝试检查页面是否存在时出错(函数返回未定义)

转载 作者:行者123 更新时间:2023-12-03 05:06:13 27 4
gpt4 key购买 nike

我正在尝试检查 URL 是否存在。如果 url 不是 404,该函数应该返回 true,如果是 404,则返回 false。

现在由于某种原因该函数返回“未定义”

这是我的代码:

function checkURL(url){
var xmlhttp; // initialize the request object
// All the browsers except for the old IE
if (window.XMLHttpRequest) {
xmlhttp = new XMLHttpRequest();
} else {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); //old IE
}
if (xmlhttp) {
xmlhttp.open("HEAD", url, true);
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4 && xmlhttp.status!=404) {
return true;
} else {
return false;
}
}
xmlhttp.send(null);
}
}

提前致谢。干杯。

最佳答案

在 AJAX 请求完成之前,checkURL 的返回值将是不确定的。我会用这样的回调来解决这个问题:

function checkURL(url, cb) {
var request = new XMLHttpRequest();
request.open('GET', url, true);

request.onload = function() {
if (request.status >= 200 && request.status < 400) {
cb(true)
} else {
cb(false)
}
};

request.onerror = function() {
cb(false)
};

request.send();
}


checkURL('https://www.reddit.com/r/javascript.json', function(status) {
if (status) {
// did not 404
} else {
// 404 or error
}
})

关于javascript - 尝试检查页面是否存在时出错(函数返回未定义),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41992138/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com