ExtJS的。使用create action在store.save()之后无法捕获写入事件

时间:2010-12-20 10:48:51

标签: events extjs store ext-direct

我在为ExtJS商店创建新记录并将其保存到服务器后尝试处理事件。但我有一个问题 - 只在更新操作后才开始写入事件。文档说:

  

@event write如果是服务器则触发   之后返回200   Ext.data.Api.actions CRUD操作。   行动的成功在于确定   结果['successProperty']属性   (注意对于RESTful商店,简单的20倍   响应足以实现这些行动   “破坏”和“更新”。 “创造”   行动应该应该返回200   使用数据库pk)。

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

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

2 个答案:

答案 0 :(得分: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属性中返回新对象的存储记录。

答案 1 :(得分:1)

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