Ver Mensaje Individual
  #11 (permalink)  
Antiguo 21/03/2009, 10:18
alfre150
 
Fecha de Ingreso: agosto-2007
Mensajes: 10
Antigüedad: 16 años, 9 meses
Puntos: 0
Respuesta: como mostrar una respuesta responseText a un textbox

David.

Necesito que la respuesta (texto) del objeto que tengo creado en ajax se pueda devolver como valor a una funcion. para explicarte 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 tienes alguna idea por favor avisame.

te 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.