javascript – 从ExtJS 3.0中的EditorGridPanel通过XmlHttpRequest自动保存?

我在Ext JS 3.0中有一个EditorGridPanel,通过HttpProxy和JsonReader填充,我有一个可编辑的列“工作” – 我可以编辑该值并将其标记为脏.

现在,在编辑单元格之后,如何使用一些基本参数,行的ID字段,列名称更改以及新值将XmlHttpRequest发送到服务器?

请求完成后,服务器端更新很容易.但是没有多少谷歌和挖掘简单的内存中的EditGridPanel示例有助于让EditGridPanel进行调用.

我不想要的:

> REST – 只需通过正常的GET或POST进行更新
>插入新记录或删除行 – 仅限更新.
>批量更新 – 一次只编辑一个单元格.
>一堆代码 – 这应该是微不足道的,就像Scriptaculous中的Ajax.InPlaceEditor一样

最佳答案 我终于想通了……我的商店里只需要一位作家:

var ds = new Ext.data.JsonStore({
    autoSave:       true,
    url:            "ajax-handler.aspx",
    method:         "POST",
    timeout:        120000,
    root:           "rows",
    totalProperty:  "results",
    idProperty:     "primarykeyvalue",
    fields:         previewColumnConfig,
    baseParams:     {
        now:        (new Date()).getTime()
        },
    writer: new Ext.data.JsonWriter({
        encode:     true,
        listful:    false
        })
    });

笔记:

>“现在”的基础参数是绕过“某些浏览器”(猜测)缓存AJAX结果
>“encode”在POST中返回POST变量而不仅仅是一个简单的JSON结果.
>“listful”被禁用,因为用户一次只编辑一行/列,不需要设计服务器端解析器来引入数组,它只能期望一行.
>是的,我有一个非常长的超时值.
>预先定义previewColumnConfig,存储我的列定义.

点赞