通常,ajax交互涉及发送请求,向用户提供请求正在处理的反馈,然后一旦响应到达就处理它。
当下一个操作需要从服务器发送的数据时,等待响应显然是不可避免的,但是如果交互是对服务器上的某些数据的更新,例如对列表的顺序进行排序,该怎么办?假设成功是不好的做法?因此,您可以根据排序成功的假设发出请求并简单地更新DOM。我想你必须提供一个回滚方法,如果请求失败并通知用户,但99%的时间请求应该通过并立即显示给用户。
这是一种常见模式吗?除了回滚和通知方法之外还有其他因素需要考虑吗?
任何建议都会非常感激, 富
答案 0 :(得分:1)
如果用户要收到有关成功的反馈,那么假设成功是不好的做法。
只需从服务器返回成功/失败响应,并让用户知道他们的操作是否成功。您从服务器返回的额外行程并没有真正丢失任何内容,任何的请求都可能可能会失败。
答案 1 :(得分:1)
您可能想看一下命令模式http://en.wikipedia.org/wiki/Command_pattern。看起来您想修改一些数据并假设服务器也被修改。如果AJAX处理程序失败,则可以回滚命令(并通知用户)。