如何在ajax jquery中捕获request.done()内部的错误?

问题描述 投票:0回答:1

我是 jquery 新手。 我有一个脚本可以向 API 发送请求。基本上一切都工作正常。现在我尝试模拟网络连接错误,并使用警报向用户显示适当的错误消息。

request.fail()
仅给出
error
request.done()
然而显示:

发帖

http://some.api.url

网络::ERR_CONNECTION_TIMED_OUT

我现在已经搜索了很多,但奇怪的是没有找到任何简单的实现来捕获

done()
方法内的错误。也许我正在寻找错误的方式。我希望我不必为此使用正则表达式...您能给我指出正确的方向吗?

jquery ajax error-handling
1个回答
0
投票

听起来您正在尝试处理 jQuery AJAX 请求中的网络错误并在出现故障时显示警报,但您只在 .done() 中看到错误。通常,错误处理应该在 .fail() 方法中处理,该方法专门用于处理请求失败,包括网络错误。

$.ajax({
    url: "http://apiaddress",
    type: "POST",
    data: { /* your data here */ }
})
.done(function(data) {
    console.log("Request successful");
})
.fail(function(jqXHR, textStatus, errorThrown) {
    alert("An error occurred: " + textStatus + " - " + errorThrown);
});
© www.soinside.com 2019 - 2024. All rights reserved.