$('#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.我想给他一个警告“仍在处理你以前的请求”.有没有办法可以检查一些ajax是否还在处理中?
假设我在页面上运行了很多ajax.有没有一种方法可以知道即使是一个人正在处理?
解决方法:
您可以将变量设置为true或false,具体取决于AJAX调用何时开始,例如:
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;
});
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。