Foros del Web » Programando para Internet » Javascript » Frameworks JS »

JSon... como manejar mensajes de error?

Estas en el tema de JSon... como manejar mensajes de error? en el foro de Frameworks JS en Foros del Web. Hola tod@s, Tengo una duda.... estoy desarrollando una aplicación en la que le echo mano a JSon para recibir respuestas del servidor con relación a ...
  #1 (permalink)  
Antiguo 20/02/2012, 14:14
 
Fecha de Ingreso: junio-2004
Ubicación: Ciudad de Panama
Mensajes: 551
Antigüedad: 19 años, 10 meses
Puntos: 8
Pregunta JSon... como manejar mensajes de error?

Hola tod@s,

Tengo una duda.... estoy desarrollando una aplicación en la que le echo mano a JSon para recibir respuestas del servidor con relación a Base de Datos.

Mi duda se refiere a cómo puedo manejar los diferentes mensajes que utilizo en el código php como por ejemplo "Registro Creado", "Registro Eliminado", y los que me devuelve el motor cuando ocurre algún error en una consulta, insert o update.

Cuando hago el llamado al codigo php lo hago de la siguiente manera

Código PHP:
datos "Aquí el queryString de envío al servidor";
$.
ajax({
    
datadatos,
    
type"POST",
    
dataType"json",
    
url"pvincula_cli.php",
    
success: function(data) {
        $.
each(data, function(clavevalor) {
            
Aquí el manejo de la respuesta
        
});
    }
}); 
Para el envío de la respuesta al cliente desde php lo hago con:

Código PHP:
echo json_encode($respuesta);
// $respuesta es una array..... 
Existirá alguna manera de enviar un string en lugar de un array como respuesta con JSon? o cómo podré hacer el manejo de este tipo de mensajes?

Gracias de antemano por sus conceptos......

Un Cordial Saludo
  #2 (permalink)  
Antiguo 21/02/2012, 13:54
Avatar de Aijoona
Colaborador
 
Fecha de Ingreso: mayo-2011
Ubicación: Buenos Aires
Mensajes: 779
Antigüedad: 13 años
Puntos: 343
Respuesta: JSon... como manejar mensajes de error?

Para cualquier tipo de aplicación te conviene manejar las respuestas de manera más estándar. Personalmente siempre uso algo similar a esto:

Código PHP:
Ver original
  1.     array(
  2.         'success' => true, // booleano, indica si la operacion fue exitosa
  3.         'msg' => 'Registro creado', // string, mensaje si es que hubiera
  4.         'data' => $data // Información adicional, si es que hubiera
  5.     )  
  6. );

De esta manera podes tener handlers génericos, además de ganar consistencia en la forma que trabajas en el cliente.

Luego, en el cliente vas a acceder a la información de la siguiente manera:

Código Javascript:
Ver original
  1. if(!json.success) {
  2.     alert(json.msg || 'Ocurrio un error!');
  3.     return;
  4. }
__________________
blog | @aijoona
  #3 (permalink)  
Antiguo 22/02/2012, 07:39
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 1 mes
Puntos: 101
Respuesta: JSon... como manejar mensajes de error?

Sumado a lo que te comentan, que me parece bien, agrego:

Que compruebes que la variable response (o data en tu caso) sea un objeto. Si fuese un string equivaldría a un error del lado cliente. Salvando este caso, si tenes un objeto, vas haciendo comprobaciones para saber si response.success esta definido, o si response.error lo esta, etc.

Usa en todo caso bloques try catch y define un mensaje de error en el catch. Esto suma solidez.

Finalmente, jquery tiene un capturador de errores ajax que sirve para cuando no se obtiene respuesta del servidor por algun error. Se define una sola vez en la pagina y sirve para manejar errores que ni el catch puede capturar:
http://api.jquery.com/ajaxError/

Etiquetas: ajax, js, json, manejar, mensajes, php
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:44.