gpt4 book ai didi

javascript - 如何在 JavaScript 中捕获错误的 URL?

转载 作者:行者123 更新时间:2023-12-02 13:47:54 26 4
gpt4 key购买 nike

我需要从主服务获取数据,但有时它不起作用,我想有一个后备。 Q&D 解决方案的想法是从中下载一些数据,如果失败,捕获错误并将 URL 更改为本地 URL。像这样。

let found = null;
try {
$.ajax({ url: mainUrl })
.done(function (a) { found = true; });
} catch (e) {
found = false;
}

在控制台中,我可以看到浏览器提示无法找到源但是测试变量found仍然是null 。我错过了什么?

是否有更好(但仍然相当简单)的方法来检测 Web 服务的存在?如果是这样,我愿意接受建议。但主要是,我很好奇上面的示例有什么问题。

最佳答案

该调用是异步的,浏览器不会等待您的 ajax 完成就继续执行脚本的其余部分(例如,您检查 found 的值)。

此外,try/catch 不会将 found 设置为 false,因为 ajax 正在触发,它只是调用失败。尝试在 .done() 之后使用 .fail() 来捕获失败的请求。

不过,这仍然不会将您的 found 变量设置为 false。请看这里,了解如何处理此问题的解释比我能提供的要好得多:https://stackoverflow.com/a/14220323/1843048

关于javascript - 如何在 JavaScript 中捕获错误的 URL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41222384/

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