Notificación de errores
De momento tengo esto:
var uf = new Ext.FormPanel({ labelWidth: 175, items:[{ xtype: 'textfield', fieldLabel: 'Name', name: 'name' },{ xtype: 'textfield', fieldLabel: 'Lastname', name: 'lastname' }] }) var w = new Ext.Window({ title:'Nuevo Usuario', layout:'form', frame:true, items:[uf], buttons: [{ text:'Save', handler:function(){ uf.getForm().submit({ url: 'http://localhost/demo.php', success: function(f,a){ Ext.Msg.alert('APP', 'Usuario agregado'); }, failure: function(f,a){ Ext.Msg.alert('APP', 'Error al agregar el usuario'); } }); } }] }); w.show(); });Todo funciona bien, el detalle es que, no tengo idea de como notificar al usuario errores, digamos que fallo la la conexión o que el usuario ya existe, esto lo hacia mandando una serie de echos en PHP y después solo actuallizaba un div con el reponse, sin embargo si uso un echo, me marca un error [quote]HolaMundo is not defined eval()() DomHelper()()ext-all.js (línea 9) DomHelper()(Object tId=0 status=200 statusText=OK)ext-all.js (línea 9) DomHelper()(Object tId=0 status=200 statusText=OK)ext-all.js (línea 9) DomHelper()(Object tId=0 status=200 statusText=OK)ext-all.js (línea 9) b()ext-all.js (línea 9) handleTransactionResponse()ext-base.js (línea 104) handleReadyState()()[/quote] Según leo en la API a.response me daria lo que el servidor regreso pero no logro mostrarlo en un panel. ¿Alguna pista?
el servidor te regresa JSON o XML? si te regresa json tienes que usar el "Ext.decode" para convertir el texto a un objeto javascript, si usas XML tendrías que parsear el contenido o utilizar un store para xml.
intenta hacer lo siguiente en el success:
console.debug(a.responseText)eso debería imprimir en la consola lo que el servidor esta regresando, saludos!
Vaya, acostumbrado a que jquery me lo devolviera ya decodificado lo pase por alto, mas tarde le probare gracias por la ayuda
Eso es porque estas usando el "a.responseText", osea, explícitamente le estas pidiendo el texto, puedes pedirle la información ya lista para usarse de la siguiente manera:
console.debug(a.result.msg)para una respuesta así:
{ success: true, msg:'Guardado con éxito!' }de esta manera ya no tienes que hacer el "Ext.decode" <!-- s;) --><!-- s;) --> saludos
¿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.