Extjs. Can't catch write event after store.save() with create action
I'm开发者_开发知识库 trying to handle event after creating new record to ExtJS store and saving it to server. But I have a problem - write event firing only after update action. Documentation says:
@event write Fires if the server returns 200 after an Ext.data.Api.actions CRUD action. Success of the action is determined in the result['successProperty']property (NOTE for RESTful stores, a simple 20x response is sufficient for the actions "destroy" and "update". The "create" action should should return 200 along with a database pk).
Now I've such response from server: [{"tid": 5, "action": "CityGrid", "type": "rpc", "method": "create", "result": {"msg": "saved", "data": {}, }}]
I guess that adding a database.pk of created object to server response should resolve problem but I've no idea how to do it. I've tried this ... "data": {"Id":my_object.id}
but with no effect.
This example: http://dev.sencha.com/deploy/dev/examples/writer/writer.html Creating return this:
{
"success":true,
"message":"Created record",
"data": {"first":"sdfds","last":"sdfsdf","email":"asd@sdfs.sd","id":10}
}
So just return store record for new object in Reader.root property.
Try setting idProperty
of your JsonReader to the name of your PK. Also, I think that data:
should be an array
"data": [{"id": ....}]
but I might be wrong :P
精彩评论