gpt4 book ai didi

javascript - 仅当 AJAX 请求需要一定时间时才执行代码?

转载 作者:搜寻专家 更新时间:2023-11-01 05:13:08 25 4
gpt4 key购买 nike

在我的网络应用程序中,我使用 $.ajax() 请求从数据库加载数据并将其显示在浏览器中。在执行请求期间,我显示了一条 Loading Results ... 消息,如下所示:

$.ajax({
// ...
beforeSend: function() {
$('#loading-results-message').show();
},
complete: function() {
$('#loading-results-message').hide();
}
});

这很好用。但是,如果没有太多数据要加载,请求只需要几分之一秒。在这种情况下,消息也只显示几分之一秒。此动画发生得如此之快,以至于很难识别它。因此,如果仅当请求需要一定的时间(即至少几秒钟而不是几分之一秒)时才可能显示消息,那就太好了。这有可能吗?顺便说一下,我在服务器端使用 Django,如果这很重要的话。

最佳答案

使用setTimeout建立定时器,请求完成后取消定时器:

var desired_delay = 2000;
var message_timer = false;
$.ajax({
// ...
beforeSend: function() {
message_timer = setTimeout(function () {
$('#loading-results-message').show();
message_timer = false;
}, desired_delay);
},
complete: function() {
if (message_timer)
clearTimeout(message_timer);
message_timer = false;
$('#loading-results-message').hide();
}
});

文档

关于javascript - 仅当 AJAX 请求需要一定时间时才执行代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14881274/

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