我有一个ajax电话
$('#button1').on('click', function(e){ $.ajax({ url: url, type: 'POST', async: true, dataType: 'json', enctype: 'multipart/form-data', cache: false, success: function(data){ }, error: function(){} }); e.stopImmediatePropagation(); return false; });
现在,这里是10分钟后收到的答复。因此,ajax调用被多次调用。为什么会发生这种情况/我们如何确保ajax调用仅被调用一次?
禁用按钮的另一种方法是使用.one()方法,并在回调后重新绑定事件处理程序:
var clickHandler = function(e){ $.ajax({ url: url, type: 'POST', async: true, dataType: 'json', enctype: 'multipart/form-data', cache: false, success: function(data){ $('#button1').one('click', clickHandler); }, error: function(){} }); e.stopImmediatePropagation(); return false; } $('#button1').one('click', clickHandler);