ExtJS. Ne peut pas attraper événement écrire après store.save () avec créer une action
-
11-10-2019 - |
Question
Je suis en train de gérer l'événement après la création nouveau record pour stocker ExtJS et l'enregistrer sur le serveur. Mais j'ai un problème - événement d'écriture tir seulement après une action de mise à jour. Documentation dit:
Les feux @event d'écriture si le serveur 200 retourne après un l'action Ext.data.Api.actions CRUD. Le succès de l'action est déterminée le résultat [ « successProperty »] propriété (NOTE pour les magasins RESTful, un simple 20x réponse est suffisante pour les actions « Détruire » et « mise à jour ». Le « créer » l'action devrait devrait revenir 200 le long avec une base de données pk).
Maintenant, j'ai cette réponse du serveur: [{"tid": 5, "action": "CityGrid", "type": "rpc", "method": "create", "result": {"msg": "saved", "data": {}, }}]
Je suppose que l'ajout d'un database.pk d'objet créé à la réponse du serveur doit résoudre le problème, mais je ne peux pas savoir comment le faire. J'ai essayé ce ... "data": {"Id":my_object.id}
mais sans effet.
La solution
Cet exemple: http://dev.sencha.com/deploy /dev/examples/writer/writer.html Création retour ceci:
{
"success":true,
"message":"Created record",
"data": {"first":"sdfds","last":"sdfsdf","email":"asd@sdfs.sd","id":10}
}
Il suffit donc de revenir record magasin pour nouvel objet dans la propriété Reader.root.
Autres conseils
Essayez de régler idProperty
de votre JsonReader au nom de votre PK. Aussi, je pense que data:
devrait être un tableau
"data": [{"id": ....}]
mais je peux me tromper: P