0

我有一个 Web 应用程序,上面有很多下拉列表和网格。

当前,当一个下拉列表的值发生变化时,相关下拉列表中的项目会被填充(繁重的 DB 操作)并且实际上整个页面都会发布到服务器。

问题是在这种情况下可以推荐 Ajax 吗?我听说 Ajax 只适用于轻量级操作。

4

3 回答 3

3

是的,可以,只需向用户提供操作需要一段时间的反馈。在执行操作时显示消息或加载图像,然后在操作完成时将其隐藏。

于 2013-06-21T18:54:03.333 回答
2

您可以使用 ajax,但我想提供一个替代解决方案......

使用 ajax/post/whatever 启动流程,然后使用以下方法之一定期请求反馈:

  • JS 轮询(setInterval)
  • 服务器发送事件
  • 信号R

这样,用户可以在等待操作完成时导航离开。当收到“操作已完成”反馈时,您可以在更合适的情况下通过页面内通知或电子邮件来提醒用户。

于 2013-06-21T19:08:15.343 回答
1

答案当然是您可以将 AJAX 用于繁重的数据库操作,但也许更好的问题是您应该使用它;答案是视情况而定。剪刀可以剪纸,但不能剪院子;适合工作的正确工具。

退后一步,听起来您的开发技术选择可能是您问题的一部分,就像是否使用 AJAX 进行繁重的数据库调用一样。我的观点是,如果您试图避免页面的完整回发,那么您可能会考虑更多基于客户端的实现(例如 KnockoutJS、Backbone、Ember、AngularJS 等),它可以使用对服务器的调用来获取屏幕特定部分所需的数据(通过视图模型)。

于 2013-06-21T19:01:47.853 回答