【问题标题】:Possible problems due to repeated ajax calls?由于重复的ajax调用可能出现问题?
【发布时间】:2011-10-05 18:07:08
【问题描述】:

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

【问题讨论】:

  • 试试看有没有问题...

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


【解决方案1】:

为了确保用户体验不会受到影响,我会这样做:

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

【讨论】:

    【解决方案2】:

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

    您可以通过将键添加到变量并定期发送到服务器来改善这一点,例如:

    1. 用户点击一个项目
      • 向数组添加键
      • 使用 window.setTimeout() 在 x 毫秒内启动发送函数
    2. 用户单击另一个项目
      • 向数组添加键
      • 已设置超时,因此不再执行任何操作
    3. 超时,代码运行,在一个请求中将两个密钥发送到服务器
    4. 用户点击一个项目
      • 向数组添加键
      • 使用 window.setTimeout() 在 x 毫秒内启动发送函数

    等等

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-04-24
      • 1970-01-01
      • 2011-03-24
      • 1970-01-01
      • 2010-10-10
      • 1970-01-01
      • 2013-04-30
      相关资源
      最近更新 更多