gpt4 book ai didi

javascript - 检查页面上的某些ajax是否正在处理中?

转载 作者:可可西里 更新时间:2023-10-31 22:43:58 24 4
gpt4 key购买 nike

我有这个代码

$('#postinput').on('keyup',function(){ 
var txt=$(this).val();

$.ajax({
type: "POST",
url: "action.php",
data: 'txt='+txt,
cache: false,
context:this,
success: function(html)
{
alert(html);
}

});

});


$('#postinput2').on('keyup',function(){
var txt2=$(this).val();

$.ajax({
type: "POST",
url: "action.php",
data: 'txt2='+txt2,
cache: false,
context:this,
success: function(html)
{
alert(html);
}

});

});

假设用户点击了 #postinput 并且处理需要 30 秒。如果在此期间用户点击了 #postinput2 。我想给他一个提醒 "Still Processing Your Previous request" 。有没有办法检查某些 ajax 是否仍在处理中?

假设我在页面上运行了很多 ajax。有没有一种方法可以知道是否有一个正在处理中?

最佳答案

您可以根据 AJAX 调用开始的时间将变量设置为 truefalse,例如:

var ajaxInProgress = false;

$('#postinput2').on('keyup',function(){
var txt2=$(this).val();

ajaxInProgress = true;
$.ajax({
..
..
success: function(html) {
ajaxInProgress = false;

现在在通话前检查是否需要:

if (ajaxInProgress)
alert("AJAX in progress!");

或者,使用全局 AJAX 事件来设置变量

$( document ).ajaxStart(function() {
ajaxInProgress = true;
});

$( document ).ajaxStop(function() {
ajaxInProgress = false;
});

关于javascript - 检查页面上的某些ajax是否正在处理中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19659079/

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