JQuery - Mostrar mensaje de error

   
Vista:

Mostrar mensaje de error

Publicado por Fernando (10 intervenciones) el 23/11/2012 00:23:51
Hola Gente!

Tengo un problema, y no comprendo muy bien la causa.

Estoy usando el control flexigrid, y al llamar a un formulario para borrar un registro, si desde el motor de bases de datos no me devuelve error, todo funciona ok, ahora si el motor de bases de datos, genera un mensaje de error, por que se infringe alguna regla de integridad, no puedo mostrarla en pantalla !

Esta es la llamada desde Flexigrid (que funciona ok)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$.ajax({
			   type: "POST",
			   dataType: "json",
			   url: "gra_delete.php",
			   data: "items="+itemlist,
			   success: function(data){
			       if(data.total>0){
			   	     alert("Registro Eliminado");
			         $("#flex1").flexReload();
			         }
			       else
			        {
			         alert("Error al Elimina");
                 }
			   }
			 });


Y este el form "gra_delete.php"

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
$wcmd = "delete from Gra where ciden=".$term;
 
try {
   $st = $link-> prepare( $wcmd );
   $st-> execute();
 
   $total = $st->rowCount();;
 
   $datos=array("total"=>$total);
   echo json_encode($datos);
  }
     catch ( PDOException $e ) {
 
       $werro=str_ireplace("SQLSTATE[42000]:", "", $e->getMessage()) ;
       $werro=str_ireplace("Syntax error or access violation: 50000", "", $werro) ;
       $werro=str_ireplace("[Microsoft][ODBC SQL Server Driver][SQL Server]", "", $werro) ;
       $werro=str_ireplace("(SQLExecute[50000] at ext\pdo_odbc\odbc_stmt.c:254)", "", $werro) ;
 
       die ($werro);
 
    }


Si utilizo Firebug, puedo ver el mensaje de la variable $werro, pero nunca aparece en pantalla
ahora como podria implementarlo para que el usuario vea el mensaje que arroja la base de datos?

Desde ya muy agradecido por cualquier comentario!

Saludos
Fernando
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve

Mostrar mensaje de error

Publicado por xve (557 intervenciones) el 23/11/2012 08:06:34
Hola Fernando, es correcto que no lo veas nunca por pantalla, y intento explicarte.

Al hacer la llamada por ajax, esa ejecución del código php, no se ejecuta directamente en tu navegador, lo ejecuta el javascript en segundo plano, por lo que cualquier cosa que suceda en el archivo php, no sera visualizado en tu navegador.

Ahora bien, si revisas la comunicación desde firebug, si que deberías de visualizar el die(...) en el firebug, pero no en el navegador.

Además, ten en cuenta, que indicas en el ajax, que devuelva un json.

Espero haberme hecho entender... cualquier duda intento comentarte!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar