gpt4 book ai didi

jquery - 如何检测 jQuery $.get 失败?

转载 作者:行者123 更新时间:2023-12-03 21:34:02 25 4
gpt4 key购买 nike

我是 jQuery 初学者。我正在尝试使用 $.get() 编写一个非常简单的代码。 official documentation说:

If a request with jQuery.get() returns an error code, it will fail silently unless the script has also called the global .ajaxError() method or.

As of jQuery 1.5, the .error() method of the jqXHR objectreturned by jQuery.get() is also available for error handling.

所以,如果一切顺利,我的成功回调函数将被调用。但是,如果请求失败,我想获取 HTTP 代码:404、502 等,并为用户制定有意义的错误消息。

但是,由于这是一个异步调用,我可以想象我可能有几个未完成的调用。 .ajaxError() 如何知道它对应哪个请求?也许使用 jQuery.get() 返回的 jqXHR 对象的 .error() 方法会更好?

我正在寻找一个极其简单的代码示例。也许成功例程会调用 Alert(“找到页面”),而失败例程会检查 404 并执行警报(“找不到页面”)。

更新

以下页面非常有帮助:http://api.jquery.com/jQuery.get/

最佳答案

您说得对,您可以使用 jQuery 1.5 的新 jqXHR 为 $.get() 请求分配错误处理程序。您可以这样做:

var request = $.get('/path/to/resource.ext');

request.success(function(result) {
console.log(result);
});

request.error(function(jqXHR, textStatus, errorThrown) {
if (textStatus == 'timeout')
console.log('The server is not responding');

if (textStatus == 'error')
console.log(errorThrown);

// Etc
});

您还可以将处理程序直接链接到调用上:

$.get('/path/to/resource.ext')
.success(function(result) { })
.error(function(jqXHR, textStatus, errorThrown) { });

我更喜欢前者,这样可以减少代码的困惑,但两者是等效的。

关于jquery - 如何检测 jQuery $.get 失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5047906/

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