按下按钮后和触发 AJAX 调用之前立即显示加载屏幕

Posted

技术标签:

【中文标题】按下按钮后和触发 AJAX 调用之前立即显示加载屏幕【英文标题】:Display loading screen immediately after button press and before AJAX call is fired 【发布时间】:2022-01-11 08:04:10 【问题描述】:

我正在尝试在按下按钮后和进行 AJAX 调用之前显示加载元素。

这是我的代码和我尝试过的:-

这段代码在我的“点击按钮”功能中

$('.loading-container').fadeIn(0);
$('.loading-container').show();
$('.loading-container').css('display', 'block');

console.log("start");

setTimeout(function () 
    getResults();
    console.log("end");
, 3600);

我也尝试过beforeSend,但它不会在单击按钮后立即显示加载屏幕。

问题是加载屏幕在按钮单击后显示 4 或 5 秒。如何让它在按钮点击后立即显示?

【问题讨论】:

【参考方案1】:

你可以使用asyncawait,这里是参考:MDN - async function或者你可以使用基本相同的promise (MDN - Promises)。

【讨论】:

以上是关于按下按钮后和触发 AJAX 调用之前立即显示加载屏幕的主要内容,如果未能解决你的问题,请参考以下文章

按下后退按钮时避免启动屏幕活动

某些页面上的后退按钮导航不能立即生效,但经过多次点击后

使用游戏手柄触发 jquery ajax mysql 插入

用于控制 ajax 负载的后退和前进按钮

Pan Segue 调用 viewDidLoad 循环

等到三个 ajax 调用解决触发函数(延迟?)