Ver Mensaje Individual
  #2 (permalink)  
Antiguo 28/03/2008, 09:45
Avatar de GatorV
GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Re: problema con return en una funcion

No puedes hacer eso que propones, ya que recuerda que las llamadas en AJAX son asíncronas, lo que puedes hacer es guardar la variable datos en una variable global y luego leerla:
Código:
var datos;
function cargar(url, metodo, parametros, id_capa, id_capa_espera, msj_espera, ejecutar)
{
    var ajax = Conectar();
    var cargador = document.getElementById(id_capa);
    if(ajax)
    {
        ajax.open(metodo, url, true);
        ajax.onreadystatechange = function() {
            if(ajax.readyState == 1)
            {
                if(id_capa_espera !== "") {
                    cargador.innerHTML = msj_espera;
                }
            } else if (ajax.readyState == 4) {
                    var respuesta = ajax.responseText;
                    if(id_capa !== "") {
                        cargador.innerHTML = respuesta;
                    }
                    if(ejecutar !== "")
                    {
                        eval(ejecutar);
                    }
                    

                    datos = respuesta;
                    alert( datos );
            }
        }
        ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
        ajax.send(parametros);
    }
}
Ya posteriormente al terminar la llamada AJAX puedes leer desde cualquier lado la variable datos.

Saludos.