gpt4 book ai didi

javascript - 检测 JSON 是否存在

转载 作者:行者123 更新时间:2023-11-28 14:29:51 25 4
gpt4 key购买 nike

我对检查文件是否存在有疑问。

我有这段代码。

function fileExists(url) {
if (url) {
var req = new XMLHttpRequest();
req.open('GET', url, false);
req.send();
console.log("exists");
return true;
} else {
console.log("no exists");
return false;
}
}

但它告诉我文件存在。但它不存在。事实上,我的 URL 上有 404 错误 XML 文件。是否可以以某种方式检测请求的 URL 是否为 JSON?仅当检查的文件是 JSON 时,我才需要返回 true。

谢谢

最佳答案

由于这是一个同步请求,因此您可以尝试解析返回的responseText,如果解析失败,则说明它不是 JSON:

        var res = req.responseText;
try {
res = JSON.parse(res);
console.log('json', res);
} catch (e) {
console.log('not json')
}
<小时/>

如果不是同步请求,这会起作用:

如果你看XMLHttpRequest docs ,您将看到为了从 XMLHttpRequest 接收返回的数据,您需要添加一个回调函数:

xhr.onreadystatechange = function() {//Call a function when the state changes.
if(this.readyState == XMLHttpRequest.DONE && this.status == 200) {
// Request finished. Do processing here.
}
}

如果你想检查你的请求是否是 JSON,你可以这样做:

xhr.onreadystatechange = function() {//Call a function when the state changes.
if(this.readyState == XMLHttpRequest.DONE && this.status == 200) {
var res = this.responseText;
try {
JSON.parse(res);
console.log('json', res);
} catch (e) {
console.log('not json')
}
}
}

关于javascript - 检测 JSON 是否存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51880584/

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