Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Extjs 根据自动同步插入操作的响应进行操作_Extjs_Extjs4_Sync_Extjs4.2 - Fatal编程技术网

Extjs 根据自动同步插入操作的响应进行操作

Extjs 根据自动同步插入操作的响应进行操作,extjs,extjs4,sync,extjs4.2,Extjs,Extjs4,Sync,Extjs4.2,我有一个商店有autosync:true 加载商店时,我会得到完整的模型: [{"id":11,"active":true,"name":"ABC","sens":7,"details":119,"type":13,"acl":false,"create":true,"delete":true,"owner":"alexander","members":"gustave\njerome"}] 将新模型同步到服务器时,我会将其与“id”:0一起发送,以便服务器知道它必须创建一个新模型。然后服务器

我有一个商店有
autosync:true

加载商店时,我会得到完整的模型:

[{"id":11,"active":true,"name":"ABC","sens":7,"details":119,"type":13,"acl":false,"create":true,"delete":true,"owner":"alexander","members":"gustave\njerome"}]
将新模型同步到服务器时,我会将其与
“id”:0一起发送,以便服务器知道它必须创建一个新模型。然后服务器将响应
{“success”:true,“data:[12],“debug:[]}
,其中
12
是新创建的条目的id

现在,我必须为自动同步操作添加一个回调函数,以便将收到的ID修补回存储区

如果我手动同步,这将很容易:

Ext.getStore("RightsStore").sync({
    success:function() {

    }
})

但是,如何才能获得特殊的成功或回调函数,以便将同步插入到使用autoSync的存储中?

如果服务器发送了
{“success”:true,“data”[{“id”:12,…..}}}
,则无需执行任何操作。最好的方法是,若服务器返回它为CRUD操作收到的完整记录以及更新的数据(以相同的顺序)。Ext负责剩下的部分。

如果您无法像@Saki所提到的那样更改服务器输出,您只需侦听load事件并使用新id更新记录即可

store.on('load', me.loaded, me);

loaded: function(store, records) {

}

更多详情请点击此处-

顺便说一句,您可以在此处看到所有CRUD操作: