重复的ajax调用可能导致的问题?

时间:2011-10-05 18:07:08

标签: sql-server asp.net-mvc ajax

我计划有一个(Telerik MVC)网格,其中每一行都有一个按钮。单击时,将通过ajax在DB中更新布尔值,并且回调函数将在行的单元格中设置“复选标记”图像。用户应该能够以快速方式点击多行,并且如果他这样做,我试图预测任何问题。是否有可能在DOM或数据库服务器中发生争用?

2 个答案:

答案 0 :(得分:0)

最大的因素可能是服务器处理Ajax请求的速度。如果需要一段时间,那么用户体验会很糟糕。

您可以通过将密钥添加到变量,并且只是定期发送到服务器来实现这一点,例如:

  1. 用户点击一个项目
    • 向数组添加密钥
    • 使用window.setTimeout()以x毫秒开始发送函数
  2. 用户点击其他项目
    • 向数组添加密钥
    • 已设置超时,因此无法执行任何操作
  3. 超时到期,代码运行,在一个请求中将两个密钥发送到服务器
  4. 用户点击一个项目
    • 向数组添加密钥
    • 使用window.setTimeout()以x毫秒开始发送函数

答案 1 :(得分:0)

为了确保用户体验不受影响,这就是我要做的事情:

  • 创建要更新的对象数组
  • 每次单击一个复选框时,使用值将其添加/更新到数组中 - 这将确保多次单击同一个复选框将导致只有一个AJAX调用
  • 向阵列添加复选框后,启动AJAX更新过程
  • 在AJAX响应中,检查要处理的数组中是否有任何项目并重复
相关问题