Foros del Web » Programando para Internet » Jquery »

Capturar una variable que esta dentro de una funcion($.ajax)

Estas en el tema de Capturar una variable que esta dentro de una funcion($.ajax) en el foro de Jquery en Foros del Web. Buen dia, estoy tratando de capturar una variable extraida desde un archivo php, con el siguiente codigo: var resultado; function captura (){ $.ajax({ type : ...
  #1 (permalink)  
Antiguo 10/10/2013, 11:48
 
Fecha de Ingreso: octubre-2013
Mensajes: 8
Antigüedad: 11 años, 1 mes
Puntos: 0
Capturar una variable que esta dentro de una funcion($.ajax)

Buen dia,

estoy tratando de capturar una variable extraida desde un archivo php, con el siguiente codigo:

var resultado;

function captura (){



$.ajax({

type : 'POST',
url : 'teste1.php',
data : {objid:88},
success : function (response) {

alert(response);
resultado=response;//NO ME FUNCIONA!!
}

});

return resultado;
}

var r = captura();
alert(r);

el asunto es que el primer alerta me funciona (me muestra la variable que quiero) pero el segundo alerta me sale "undefined". ayuda por favor.
  #2 (permalink)  
Antiguo 10/10/2013, 11:51
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 16 años, 3 meses
Puntos: 1532
Respuesta: Capturar una variable que esta dentro de una funcion($.ajax)

recuerda que AJAX es asíncrono, por el cual es completamente inútil usar return, lo que debes hacer es llamar a otra función pasandole el reponse a modo de callback
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 10/10/2013, 11:57
 
Fecha de Ingreso: octubre-2013
Mensajes: 8
Antigüedad: 11 años, 1 mes
Puntos: 0
Respuesta: Capturar una variable que esta dentro de una funcion($.ajax)

Cita:
Iniciado por maycolalvarez Ver Mensaje
recuerda que AJAX es asíncrono, por el cual es completamente inútil usar return, lo que debes hacer es llamar a otra función pasandole el reponse a modo de callback

Seria mucho pedir que me mostraras una forma?. gracias por tu ayuda
  #4 (permalink)  
Antiguo 10/10/2013, 12:16
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 16 años, 3 meses
Puntos: 1532
Respuesta: Capturar una variable que esta dentro de una funcion($.ajax)

da igual que te ponga un ejemplo o no, lo importante es que comprendas el funcionamiento:

Código Javascript:
Ver original
  1. function captura (_callback){
  2.     $.ajax({
  3.         type : 'POST',
  4.         url : 'teste1.php',
  5.         data : {objid:88},
  6.         success : _callback //el mismo callback
  7.     });
  8. }
  9. var r = null;  //GLOBAL SCOPE
  10. captura(function(response) {
  11.     r = response; //asume a r como en el scope global
  12.     alert(r);
  13.     //operaciones a la respuesta
  14. });
  15. alert(r); //MOSTRARÄ NULL AL PRICIPIO porque la respuesta HTTP de AJAX aún no llega (asíncrono)

porque si lo que quieres es establecer la variable r, estarás en la misma situación de la asincronía, por lo que todo en lo que necesites usar r debe de estar dentro de la misma función callback
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...

Etiquetas: ajax, funcion, javascript, php, variable
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 04:51.