-
10-07-2019 - |
题
我想就此问你的意见。这是一个理论问题。
我遇到的情况是我向用户显示了一个使用AJAX与服务器通信的界面。服务器端语言在这里无关紧要。我有一个带有字段的表单,每个表单都是可删除的。如果用户选择了几个<!>“删除<!>”; -checkboxes和press更新,然后我有以下两个选项:
选项1: 删除字段时,使用JavaScript立即删除HTML并在后台运行AJAX以删除这些字段。这实现了快速界面的外观 - <!> gt;更好的用户体验。但是,如果AJAX调用在服务器端失败(无法删除字段),那么先前删除的HTML字段将为用户提供错误的假设(删除它们)。
选项2: 删除字段时,运行AJAX,根据其成功,删除HTML或不删除。这为用户提供了准确的反馈,但表单会冻结,直到AJAX调用结束=慢(呃)。
你有什么想法?哪种方法对我来说似乎更好,或者我应该选择它?
解决方案
选项3:将控件标记为已删除(例如,覆盖一个带有删除图标的半透明灰色框)。发送请求。当它返回时,要么删除控件,要么更改框以显示错误图标几秒钟(然后删除该框)。
允许接口的其余部分与之交互。
其他提示
好问题。
第三种选择是:
- 立即停用控件 当Ajax返回时,
- 删除 醇>
这为用户提供了有效请求(响应性)的反馈, 同时也展示了它有效完成的时刻。
此外,用户以某种方式感觉<!>“远程调用<!>”,这不会导致他错误,因为它确实发生了。无论如何,我们可以做些什么来隐藏这种感觉,因为延迟总会存在。
不隶属于 StackOverflow