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

devolver un valor en AJAX

Estas en el tema de devolver un valor en AJAX en el foro de Frameworks JS en Foros del Web. Buenas a todos. A ver si sabeis como lo puedo solucionar. Hago una llamada a una funcion que tiene un parametro desde javascript. Esta funcion ...
  #1 (permalink)  
Antiguo 07/03/2009, 12:01
 
Fecha de Ingreso: enero-2009
Mensajes: 148
Antigüedad: 15 años, 3 meses
Puntos: 0
Mensaje devolver un valor en AJAX

Buenas a todos.

A ver si sabeis como lo puedo solucionar.

Hago una llamada a una funcion que tiene un parametro desde javascript. Esta funcion mediante Ajax llama a un servlet pasandole este parametro y el servlet me devuelve un valor.

El valor lo recojo en la funcion callback pero claro en verdad lo que quiero es tener ese valor en la funcion primera para poderlo devolver

¿como lo puedo hacer? os hago un esquemita con codigo por si no queda claro.

Código:
function getString(param){

 req = newXMLHttpRequest();
 ...
 req.onreadystatechange=callback;
 req.open(GET,url,true);
 req.send();

 return valor; //Este es el valor que tengo que devolver y que lo consigo en la funcion callback

}

function callback(){
 if(req.readyState==4&&req.status==200){
   valor = response.text; //Este es el valor que quiero que devolver desde la funcion getString.
 }
}
  #2 (permalink)  
Antiguo 07/03/2009, 12:08
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: devolver un valor en AJAX

Para eso deberías hacer una petición síncrona, o sea, el tercer parámetro del método open debería ser false. Aunque normalmente eso da más problemas que soluciones .
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 09/03/2009, 03:17
 
Fecha de Ingreso: enero-2009
Mensajes: 148
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: devolver un valor en AJAX

buah Vaya pues tendré que pensar otra manera..

porque de alguna manera se tiene que poder hacer aunque ahora mismo no se como. je

Gracias
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 14:19.