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

   
Vista:

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

Publicado por Fátima (3 intervenciones) el 10/10/2013 20:15:11
Buen dia,

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
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.
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

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

Publicado por xve (167 intervenciones) el 10/10/2013 22:04:23
Hola Fátima, es correcto que no te funcione, ya que cuando ejecutas ajax, el código de js no se queda esperando el resultado, continua y finaliza, aunque el ajax, todavía este esperando la contestación del php.

Por norma, cuando el código entra aqui: success : function (response) { ya ha finalizado la función capturar()

No se si me he explicado bien... coméntanos, ok?
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

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

Publicado por Fátima (3 intervenciones) el 11/10/2013 01:05:15
Hola!! gracias por tu respuesta, he logrado capturar la variable, agregando: async: false, a la funcion. ahora tengo otro problemita que es el siguiente error:

Uncaught TypeError: Object [{source: "Marina_Shopping", target: "Funchal", type: "Is_In"},{source: "Marina_Shopping", target: "Avenida_do_Mar", type: "Is_Accessible_From"},{source: "Marina_Shopping", target: "Avenida_Arriaga", type: "Is_Accessible_From"},]
has no method 'forEach'.

esta es la parte del codigo que me da error:

1
2
3
4
5
// Compute the distinct nodes from the links.
links.forEach(function(link) {
link.source = nodes[link.source] || (nodes[link.source] = {name: link.source});
link.target = nodes[link.target] || (nodes[link.target] = {name: link.target});
});

si alguien tiene alguna solucion, se lo agradeceria mucho..
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
Imágen de perfil de xve

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

Publicado por xve (167 intervenciones) el 11/10/2013 07:55:21
Hola Fátima, gracias por comentarlo!!

Que es la variable links?
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

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

Publicado por Fátima (3 intervenciones) el 12/10/2013 16:46:09
links es una variable que debe contener esta estructura:

[{source: "Marina_Shopping", target: "Funchal", type: "Is_In"},{source: "Marina_Shopping", target: "Avenida_do_Mar", type: "Is_Accessible_From"},{source: "Marina_Shopping", target: "Avenida_Arriaga", type: "Is_Accessible_From"},]


es asi: cuando declaro la variable en javascript con esa estructura, me funciona todo bien. Pero cuando paso la variable desde PHP con AJAX, me da aquel error.

alguna idea de como puedo resolver esto? gracias de antemano
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