我有一个带有 RowEditing 插件的网格,它的 Store 的 AjaxProxy 使用 JsonWriter 将更新写回服务器。
发生更新时,我需要触发一些代码来更新另一个组件,这需要单独访问服务器。
这必须在 JsonWriter 返回后触发,因为它取决于服务器上正在更新的数据。所以,我不能监听商店的“更新”事件,因为它发生在 Ajax 调用之前(即使禁用了批处理)。
我尝试为“endupdate”设置一个监听器,如下所示,但在发出 AJAX 请求之前再次触发:
var ds = new Ext.data.Store({
model: modelname,
autoSync: true,
proxy: {
type: "ajax",
api: {
create: "ajax.aspx?xaction=create",
read: "ajax.aspx?xaction=read",
update: "ajax.aspx?xaction=update",
destroy: "ajax.aspx?xaction=destroy"
},
batchActions: false,
reader: { type: "json", rootProperty: "rows", totalProperty: "results" },
writer: { type: "json", encode: true, writeAllFields: true, rootProperty: "rows" }
},
listeners: {
load: { fn: reloadPreview },
endupdate: { fn: reloadPreview }
}
});
对于作者的“更新”调用,我没有从服务器发回任何响应......我似乎找不到任何关于 AjaxProxy 或 JsonWriter 期望返回的文档,并且发送空白响应似乎有效。