Extjs Store.sync()后新增或修改后的新对象自动覆盖界面原纪录

作者:admin 时间:2015/2/6 9:05:50 访问量:1201

一般情况下我们往往会遇到这样的情况,我界面需要新增一个对象,而这个对象的若干属性是需要在后台服务中获取的,并且若干属性是需要显示到界面的,那么大部分人的做法是Ajax提交对象,成功后刷新界面或者Grid,这其实是伪Ajax,真正意义上的Ajax应是这样的:

 1.用户新增/修改数据界面

 2.输入数据,单击保存

 3.提交数据到后台,然后将新增的数据添加到客户端界面(是js方式添加哦)

 4.服务器返回处理结果

 5.客户端根据结果决定是成功还是失败,失败需要删掉刚刚添加的记录

 6.如果成功根据服务器返回的结果,刷新刚刚新增的那条数据,将部分属性变更

 7.这个时候你可以直接从界面删除这个对象,如果你需要的话。而不需要刷新任何的界面

这才是真正意义的Ajax,新增修改,只需要请求一次数据即可完成所有操作。

Extjs 毫无疑问是最强的框架,能够非常方便的处理这个问题,不需要太多硬编码,例如GridPanel,当我们执行Store.sync()的时候,需要服务器返回对应的json格式,既可以用新纪录覆盖gridpanel中的旧数据,是行级别的哦。

 

返回json格式如下:

{
   success:true,
   data:[{
          ..........
   }]
}

返回顶部