我想就此问你的意见。这是一个理论问题。

我遇到的情况是我向用户显示了一个使用AJAX与服务器通信的界面。服务器端语言在这里无关紧要。我有一个带有字段的表单,每个表单都是可删除的。如果用户选择了几个<!>“删除<!>”; -checkboxes和press更新,然后我有以下两个选项:

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

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

你有什么想法?哪种方法对我来说似乎更好,或者我应该选择它?

有帮助吗?

解决方案

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

允许接口的其余部分与之交互。

其他提示

好问题。

第三种选择是:

  1. 立即停用控件
  2. 当Ajax返回时,
  3. 删除
  4. 这为用户提供了有效请求(响应性)的反馈, 同时也展示了它有效完成的时刻。


    此外,用户以某种方式感觉<!>“远程调用<!>”,这不会导致他错误,因为它确实发生了。无论如何,我们可以做些什么来隐藏这种感觉,因为延迟总会存在。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top