当我不小心双击按钮时,ajax可能会在桌面上附加2个相同的结果。当我点击搜索按钮时,有没有办法阻止ajax返回2个或更多结果?我试图中止ajax,但结果是一样的。我只是ajax的新手所以帮助我们
$("#btn_searchadmin").click(function(){
var adminname = $("#tb_admin").val();
var ajax;
if(ajax){
ajax.abort();
}
ajax = $.ajax({
type: "post",
url: "manage_deped_searchadmin.php",
dataType:'json',
cache:false,
data:{'adminname': adminname},
beforeSend: function(data){
$('#tbl_search').html('');
},
success: function(data){
$("#btn_searchadmin").bind('click');
$.each(data, function(i, item) {
$('#tbl_search').append("<tr><td>"+data[i].adminfname+"</td> <td>"+data[i].adminlname+"</td>");
});
}
});
});
答案 0 :(得分:2)
您可以简单地为click事件添加一个锁,以防止出现这种情况。
(function() {
var lock = false;
$("#btn_searchadmin").click(function() {
if (!lock) {
lock = true;
// do something
// unlock at the end of callback
}
});
})()
答案 1 :(得分:0)
有两种基本方法。我会给你一个文本答案而不是代码。
complete
处理程序中); 这两种方法都是有效的,您选择的方法完全取决于应用程序。