Foros del Web » Programando para Internet » Javascript »

Capturar errores php con expresión regular

Estas en el tema de Capturar errores php con expresión regular en el foro de Javascript en Foros del Web. Buenas. Mi JS recibe desde php un json así: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código Javascript : Ver original { "resultado" : false , "msg" : "Imagen no ...
  #1 (permalink)  
Antiguo 29/07/2011, 16:56
 
Fecha de Ingreso: agosto-2010
Ubicación: Montevideo
Mensajes: 107
Antigüedad: 13 años, 8 meses
Puntos: 3
Capturar errores php con expresión regular

Buenas.

Mi JS recibe desde php un json así:

Código Javascript:
Ver original
  1. {"resultado":false,"msg":"Imagen no Válida"}

Ese resultado y mensaje no es el problema, lo que yo quiero captuar es cuando hay un error que yo no he previsto. por ejemplo:

Código Javascript:
Ver original
  1. Error al ejecutar la consulta: select *, rel_base_comp.id as idRel from art_compatibles, art_base, rel_base_comp where rel_base_comp.primario =1 and rel_base_comp.id_art_base =Array and (art_base.id =rel_base_comp.id_art_base) and (art_compatibles.id =rel_base_comp.id_art_compatible)
  2. Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/uc000535/public_html/aplicacion/clases/bd_interfaz.php on line 70
  3. Error al ejecutar la consulta: select marcas.nombre from marcas where marcas.id={"resultado":false,"msg":"Imagen no Válida"}



Entonces en este caso yo quiero que la ejecución siga normal pero quiero guardar el error. Pensé en esto:

Código Javascript:
Ver original
  1. var error=this.responseText.match(/^[.\n\r]{1,}\{/);// del inicio hasta el json
  2.     var error1=this.responseText.match(/\}[.\n\r]{1,}$/);// del json al final
  3.    
  4. // si error o error1 contienen algún texto los guardo .......
  5.    
  6.     var ResultadoJson=this.responseText.match(/\{[.]{1,}\}/) ;//  obtengo el resultado  que viene en json y lo proceso como siempre
  7.    
  8.     var datos=$ResultadoJson.parseJSON();


Yo supongo que el problema debe estar en las expresiones regulares.

Bueno desde ya gracias por su tiempo.
  #2 (permalink)  
Antiguo 02/08/2011, 11:16
 
Fecha de Ingreso: agosto-2010
Ubicación: Montevideo
Mensajes: 107
Antigüedad: 13 años, 8 meses
Puntos: 3
Respuesta: Capturar errores php con expresión regular

Lo he solucionado de esta manera:
Código Javascript:
Ver original
  1. var textoo=this.responseText;
  2.    
  3.     var error=new String(textoo.match(/^.+\{/));
  4.     var error1=new String(textoo.match(/\}.+$/));
  5.     var ResultadoJson=textoo.match(/\{.+\}/) ;

Aparentemente aunque en todos los foros y manuales que leí dice que el punto representa a todos los caracteres menos el salto delinea y el retorno de carro, a mi me ha funcionado igual.

El ejemplo del error dado arriba mysql... bla bla no era un caso real, generé un error cualquiera para mostrar un ejemplo.

Bueno no estoy muy convencido pero así está funcionando espero pueda servirle a alguien.

Saludos

Etiquetas: errores, html, js, php, regular
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 21:26.