我在为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}
但没有效果。
答案 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