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

Evaluar return de una funcion php

Estas en el tema de Evaluar return de una funcion php en el foro de Frameworks JS en Foros del Web. Buenos dias a todos. Estoy cambiando mi programacion a jquery y estoy usando el metodo $.ajax({... y tengo algunos problemas. Bueno al grano tengo la ...
  #1 (permalink)  
Antiguo 25/02/2010, 04:56
Avatar de JuanKa  
Fecha de Ingreso: septiembre-2004
Mensajes: 468
Antigüedad: 20 años, 3 meses
Puntos: 1
Evaluar return de una funcion php

Buenos dias a todos.

Estoy cambiando mi programacion a jquery y estoy usando el metodo $.ajax({...
y tengo algunos problemas.

Bueno al grano tengo la siguiente js:

Código:
function xxxxxx()
{
$.ajax({
    async       : true,
    type        : "POST",
    dataType    : "html",
    contentType : "application/x-www-form-urlencoded",
    url         : "index.php?seccion=home&modulo=camion&accion=save",
    data        : "sParams="+sElementos,
    beforeSend  : function(objeto){
                        $('#divEstadoProceso').html("<img src='./img/loading.gif' title='Loading...' />");
                        },                    
    success: function(msg){
                        $('#divEstadoProceso').css('display','none');
                                        
    timeout     : 40000,
    error       : function (xhr, desc, exceptionobj){    
                        $('#divEstadoProceso').css('display','none');                        
                        alert("El proceso ha fallado!");
                        alert(xhr.responseText);
                        alert(desc);
                        alert(exceptionobj);
                    }                    
});

}
internamente esta url :

index.php?seccion=home&modulo=camions&accion=save

me envia a una funcion:

Código PHP:
function grabarCamion()    
{    
    
$sParams $_REQUEST['sParams'];
    
$aRespuesta "INSERT INTO........... VALUES .........";
    
    if(
$aRespuesta[0]){                
        return(
"true|"."Los datos se han guardado ok.");
    }else{                
        return(
"false|"."Error al guardar los datos");
    }

Ahora con javascript con el metodo $.ajax quiero evaluar que haciendo un:

split('|') al return de php me muestre el alert del mensaje que quiero enviar algo como:

var aValores = str.split('|');

y yo pueda decir:

Código:
if( (aValores[0]===true) || (aValores[0]==='true') ) 
{
    alert(aValores[1])
}
else
{
    alert(aValores[1])
}
Como se puede hacer esto dentro del $.ajax({...


Gracias y saludos a todos
  #2 (permalink)  
Antiguo 25/02/2010, 09:15
Avatar de juaniquillo
Colaborador
 
Fecha de Ingreso: noviembre-2005
Ubicación: San Juan, Puerto Rico
Mensajes: 5.745
Antigüedad: 19 años, 1 mes
Puntos: 281
Respuesta: Evaluar return de una funcion php

El metodo 'success' recibe lo que sea que le hayas dado echo en el archivo PHP. Esto ya es PHP pero no veo que estas llamando (haciendo un 'call') a la función:

Código php:
Ver original
  1. echo grabarCamion();


A eso es lo que puedes darle split.


Código javascript:
Ver original
  1. success: function(msg){
  2.  
  3.        var msg2 = msg.split('|');
  4.        msg2[0] // esto es true o false
  5.        msg2[1] // esto esel mensaje
  6.  
  7.        //continuar codigo
  8.  
  9. }
__________________
Por fin.. tengo algo parecido a un blog
Y por lo visto ya estoy escribiendo...
  #3 (permalink)  
Antiguo 25/02/2010, 11:02
Avatar de JuanKa  
Fecha de Ingreso: septiembre-2004
Mensajes: 468
Antigüedad: 20 años, 3 meses
Puntos: 1
Respuesta: Evaluar return de una funcion php

Para que me funcione tengo que colocar echo en vez de return
es decir:

Código PHP:
function grabarCamion()     
{     
    
$sParams $_REQUEST['sParams']; 
    
$aRespuesta "INSERT INTO........... VALUES ........."
     
    if(
$aRespuesta[0]){                 
        echo 
"true|"."Los datos se han guardado ok."."|"
    }else{                 
        echo 
"false|"."Error al guardar los datos"."|"
    } 

Alguna otra ayuda.


Gracias
  #4 (permalink)  
Antiguo 25/02/2010, 11:56
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 9 meses
Puntos: 101
Respuesta: Evaluar return de una funcion php

Es más facil. Sin split.

Desde PHP devolvés 0 o 1. Es decir, false o true.

Luego, desde javascript, decis:

- si la respuesta es 0, imprimo este mensaje: "salio mal"
- si la respuesta es 1, imprimo este otro. "salio bien".

Y eso como se hace, preguntas vos. Como se recibe la respuesta de php?. Así:

Cita:
success: function(msg){

alert(msg);

$('#divEstadoProceso').css('display','none');

timeout : 40000,
error : function (xhr, desc, exceptionobj){
$('#divEstadoProceso').css('display','none');
alert("El proceso ha fallado!");
alert(xhr.responseText);
alert(desc);
alert(exceptionobj);
}
El parametro de la funcion anonima en success tiene la respuesta de php. Devuelve TODO lo que PHP imprima. Tambien los errores de ejecución, si hubiera alguno.
  #5 (permalink)  
Antiguo 25/02/2010, 12:12
Avatar de juaniquillo
Colaborador
 
Fecha de Ingreso: noviembre-2005
Ubicación: San Juan, Puerto Rico
Mensajes: 5.745
Antigüedad: 19 años, 1 mes
Puntos: 281
Respuesta: Evaluar return de una funcion php

Cierto, o solamente true o false, que vendría a ser lo mismo. Puedes hacer diferentes cosas dependiendo de la repuesta. También, como te dije arriba, si vas a tener la función también necesitas llamar la función, osea, en este último caso:

Código:
grabarCamion();
Porque así como está la función sola no va a hacer nada.
__________________
Por fin.. tengo algo parecido a un blog
Y por lo visto ya estoy escribiendo...

Etiquetas: evaluar, funcion, php, return
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 09:59.