3

在为 ExtJS 存储创建新记录并将其保存到服务器后,我正在尝试处理事件。但我有一个问题 - 仅在更新操作后写入事件触发。文档说:

@event write 如果服务器在 Ext.data.Api.actions CRUD 操作后返回 200 则触发。操作的成功在 result['successProperty'] 属性中确定(注意,对于 RESTful 存储,简单的 20 倍响应对于操作“destroy”和“update”就足够了。“create”操作应该返回 200 以及数据库PK)。

现在我从服务器得到这样的响应:[{"tid": 5, "action": "CityGrid", "type": "rpc", "method": "create", "result": {"msg": "saved", "data": {}, }}]

我想将创建对象的 database.pk 添加到服务器响应应该可以解决问题,但我不知道该怎么做。我试过这个... "data": {"Id":my_object.id}但没有效果。

4

2 回答 2

2

这个例子:http ://dev.sencha.com/deploy/dev/examples/writer/writer.html 创建返回这个:

{
    "success":true,
    "message":"Created record",
    "data": {"first":"sdfds","last":"sdfsdf","email":"asd@sdfs.sd","id":10}
}

因此,只需在 Reader.root 属性中返回新对象的存储记录。

于 2010-12-20T11:09:12.470 回答
1

尝试将idProperty您的 JsonReader 设置为您的 PK 的名称。另外,我认为这data:应该是一个数组 "data": [{"id": ....}] ,但我可能错了:P

于 2010-12-20T10:59:52.550 回答