2

我想问问你对此的看法。这是一个理论问题。

我的情况是,我向使用 AJAX 与服务器对话的用户显示了一个界面。服务器端语言在这里无关紧要。我有一个带有字段的表单,每个表单都是可删除的。如果用户选择了几个“删除”复选框并按下更新,那么我有这两个选项要做:

选项 1:删除字段时,使用 JavaScript 立即删除 HTML 并在后台运行 AJAX 以删除这些字段。这实现了快速界面的外观 -> 更好的用户体验。但是,如果 AJAX 调用在服务器端失败(字段无法删除),那么之前删除的 HTML 字段会给用户一个错误的假设(它们被删除)。

选项 2:删除字段时,运行 AJAX,根据其成功,删除 HTML 或不删除。这为用户提供了准确的反馈,但表单会冻结,直到 AJAX 调用完成 = slow(er)。

你怎么认为?哪种方法对我来说似乎更好,或者我应该选择它?

4

2 回答 2

4

选项 3:将控件标记为已删除(例如,覆盖一个带有删除图标的半透明灰色框)。发送请求。当它返回时,要么移除控件,要么将框更改为显示错误图标几秒钟(然后移除框)。

在此过程中,允许与界面的其余部分进行交互。

于 2009-10-29T10:55:39.700 回答
1

好问题。

第三种选择是:

  1. 立即禁用控件
  2. 当 Ajax 返回时删除它们

这为用户提供了有效请求(响应性)的反馈,同时还显示了有效完成的时刻。


此外,用户不知何故感觉到“远方呼叫”,这不会导致他出错,因为它确实发生了。无论如何,我们无法做任何有意义的事情来隐藏这种感觉,因为延迟总是存在的。

于 2009-10-29T10:54:26.663 回答