Foro

Notificación de errores

0
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?
0
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!
0
Vaya, acostumbrado a que jquery me lo devolviera ya decodificado lo pase por alto, mas tarde le probare gracias por la ayuda
0
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
0
Osea que a respondiendo success con true o false puedo determinar el el mensaje a mostrar, y podria incluir un arreglo con los errores y depues iterarlos ya en el lado del cliente muy interesante gracias por la ayuda

¿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.