是否有快速重复执行ajax程序的危险?

时间:2019-06-30 08:34:44

标签: javascript

$('#gd').on('click', function(){
    // move up and down DOM elements
    // some ajax procedure to store new values on database (php/mysql)
});

长时间长时间重复此点击是否有危险?

例如-如果连接不良-每次都不会完成ajax吗?

我在实时服务器上进行了测试-似乎没有问题,但是...我仍然很担心。

在这种情况下,即如何避免可能的问题的解决方法是-如果用户持续非常快速地点击#gd按钮。

1 个答案:

答案 0 :(得分:1)

此“危险”将更准确地描述为不良行为。但是,确实是应该解决的问题-当仅需要1个请求时发送多个请求将无故消耗客户端和服务器上的资源。

如果要阻止用户在处理请求时单击按钮,请在客户端发送按钮后将其禁用,并在响应处理完成后重新启用它:

$('#gd').on('click', function(){
  // 1. do some stuff with DOM
  // 2. disable button + make ajax call
  $.ajax({someRequestOptions})
   .always(function() {
       // 3. re-enable button
   });
});
相关问题