javascript - 快速重复 ajax 过程是否有危险?

标签 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 个请求时发送多个请求会无缘无故地消耗客户端和服务器上的资源。

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

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

关于javascript - 快速重复 ajax 过程是否有危险?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56823505/

相关文章:

javascript - 如何编辑此表过滤器脚本以通过预定义的搜索字符串获取结果?

javascript - 显示具有下标(或上标)样式的菜单项标签

javascript - 解析,函数仅对当前用户有效

javascript - 内部 html 在 DOM 树中完全渲染后会触发哪个事件?

javascript - Backbone js 不使用 fetch() 用数据填充模型

javascript - 如何从 JavaScript 中的回调函数返回变量?

UAX 29 Unicode 文本分段的 Javascript 实现?

javascript - Chrome 在从 libwebsockets 接收时说 "Could not decode a text frame as UTF-8"

javascript - 提交前jquery检查必填字段

javascript - Angularfire访问对象键