Extjs. Не удается отловить событие записи после store.save () с действием create - PullRequest
3 голосов
/ 20 декабря 2010

Я пытаюсь обработать событие после создания новой записи в хранилище ExtJS и сохранения ее на сервере. Но у меня есть проблема - запись событий запускается только после действия обновления. Документация гласит:

@ event write Запускает, если сервер возвращает 200 после Ext.data.Api.actions CRUD action. Успех акции определяется в свойство result ['successProperty'] (ПРИМЕЧАНИЕ для магазинов RESTful, простой 20x ответ достаточен для действий «уничтожить» и «обновить». "Создать" действие должно вернуться 200 с базой данных пк).

Теперь у меня есть такой ответ от сервера: [{"tid": 5, "action": "CityGrid", "type": "rpc", "method": "create", "result": {"msg": "saved", "data": {}, }}]

Я думаю, что добавление database.pk созданного объекта к ответу сервера должно решить проблему, но я не знаю, как это сделать. Я пробовал это ... "data": {"Id":my_object.id}, но без эффекта.

Ответы [ 2 ]

2 голосов
/ 20 декабря 2010

Этот пример: 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 голос
/ 20 декабря 2010

Попробуйте установить idProperty вашего JsonReader на имя вашего ПК.Кроме того, я думаю, что data: должен быть массивом "data": [{"id": ....}], но я могу ошибаться: P

...