我正在使用内联编辑来使用
AJAX更新
数据库中的文本.这基本上就是这个过程,很常见的东西:
>文字不可编辑
>我点击文字,它变得可编辑
>我输入新文字
>然后单击以将更新的文本发送到数据库
>然后将文本返回到不可编辑的格式
我的问题是我应该何时用新数据更新界面?我应该在ajax调用之前立即更新它,还是应该等待更新响应从数据库返回?
我的顾虑:
>如果我没有立即更新接口并等待从数据库获得响应,那么我就失去了ajax带来的异步优势.
>但是如果我立即更新它,那么如果数据库响应有错误,我会以某种方式跟踪我已经做出的改变,并将其反转,这是更多的工作.
那么这种事情通常是怎么做到的?
我认为等待响应并通过回调更新是完全合理的.这样做不会减损异步
方法.它仍然是完全异步的,因为您没有阻止整个
页面或完全重新加载它.
很多时候在应用程序中,特别是在带宽可能有限的移动应用程序中,我会看到一个指示该字段正在提交的微调器.这不会占用应用程序的任何其他部分.当我使用移动视图时,甚至stackoverflow都会这样做.依靠回调以保持异步并仍然同步到数据库返回值.