Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/03/2009, 20:34
alfre150
 
Fecha de Ingreso: agosto-2007
Mensajes: 10
Antigüedad: 16 años, 9 meses
Puntos: 0
crear una clase ajax

Necesito que la respuesta (texto) del objeto que tengo creado en ajax se pueda devolver como valor a una funcion. para explicarles un poco mejor lo que quiero es que mi funcion en javascript que consulta a un servicio web y obtiene la respuesta pueda servirme para varios casos sin necesidad de volver a codificar donde se crea el XmlHttpRequest y donde comparo si se completo la peticion etc.

Para darte mas detalles

Código:

function mConsultarServicioWeb(lcCadena1,lcCadena2)
{
if (loHttpRequest) /* este es el objeto xmlHttpRequest ya creado*/
{
var lcCadena = lcCadena1;
var lcNombre = lcCadena2;

loHttpRequest.open("POST", "h..p://......../ServicioAjax.asmx/mObtenerDatos", true);

loHttpRequest.onreadystatechange = function()
{
if (loHttpRequest.readyState == 4)
{
if (loHttpRequest.status == 200)
{
var loDocumentoXml = loHttpRequest.responseXML;
var lcResultado = loDocumentoXml.lastChild.childNodes[0].nodeValue;
//aqui deseo retornar la respuesta... use un return lcResultado pero no funciona
}
else
{
var lcFalla = loHttpRequest.responseText;
alert("Ha ocurrido un error:" + lcFalla);
}
}
}
//Ejecutamos la peticion
loHttpRequest.setRequestHeader("Content-Type","application...");
loHttpRequest.send("lcCadena1=" + lcCadena1 + "&lcNombre=" + lcCadena2);
}
}




cabe mencionar que esa funcion voy a llamarla desde otra de la siguiente forma

Código:

function mMostrarSubMenu()
{
var lcRespuesta = mConsultarServicioWeb('Hola', 'Mundo');
}

como no me funciona el return, la variable lcRespuesta siempre muestra "undefined"

si tienen alguna idea por favor avisenme.

les comento ademas que el servicio web funciona perfectamente, porque lo evaluo con firebug y cada vez que mando a hacer la peticion me mustra la respuesta en la consola

Gracias de antemano.