Foro

¿Cómo capturar las excepciones de un CRUD en un Store?

0
Hola humanidad. Vaya que llevaba tiempo sin darme una vuelta por aquí, ¡¡pero he vuelto con dudas!!! Bien, a ver puedo plantear bien mi problema: Estoy creando una aplicación con ExtJS 4 siguiendo el paradigma MVC. Bien, tengo una grilla que carga datos, y en general todo funciona bien. El problema surge cuando quiero campurar excepciones al borrar filas de las grillas. Por el momento el código que tengo es simple y el que sale en todos los ejemplos: store.remove(record); store.sync(); Y bien, envía la petición, la capturo y ejecuto la acción, devuelvo un JSON con la forma: {succes: true, msg: 'borrado con éxito'} Pero veo que las cosas están funcionando al revez de mi lógica. El Store primero elimina los record, y desde luego, en la grilla desaparece la o las filas eliminadas, y luego envía la petición al server (al llamar a sync()). ¡¿Pero que pasa si el servidor no puede borrar el daro?! O.O En ese caso, en el server, manejo una excepción, y por el momento devuelvo un JSON con la forma: {success: false, msg: 'Error al borrar'} Si veo en firebug, veo que en efecto ese JSON es lo que se ha devuelto, pero el Store siempre quita la/las fila/filas. Pero yo quiero capturar ese hecho de que en realidad no borró nada y mostrar un mensaje de error para indicarle al usuario que la eliminnación falló. Y claro, también quiero que si no se borra el dato en el servidor, ¡tampoco quite la fila de la grilla! (o que al menos la vuelva a poner :P) Bueno, ¿alguna idea? Saludos. :D
1
Hola pos a lo mejor esto te sirve en ExtjsEs subi unos ejemplos de CRUD con extjs 4.x y esto hago pa saber que ondas con los datos: debes usar el request.action // 2.-Creamos el Data Store var MyStoreRoweditor = Ext.create('Ext.data.Store', { model: 'CompactDisc',//Llamamos el Modelo Antes Creado autoLoad: true, autoSync: true,//Sincronizacion con el Servidor autoSave: true, //

¿Conoces a alguien que pueda responder esta pregunta? Comparte el link en Twitter o Facebook

Es necesario registrarse para poder participar en el foro! Si ya tienes una cuenta puedes entrar y comentar en este foro.