Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   Frameworks JS (http://www.forosdelweb.com/f127/)
-   -   donde está el error? (http://www.forosdelweb.com/f127/donde-esta-error-391774/)

Willy_Coyote 08/05/2006 11:45

donde está el error?
 
Estoy haciendo un script que me devuelva la descripción de un producto. Sé que el archivo PHP que toma el requerimiento está funcionando sin problemas, ya revisé que me retornara lo que necesito. Pero no se por qué el ajax no me reconoce el responseText... acá va el código (en la 1era función creo el objeto, y en el 2do lo uso):

Código:

function nuevoAjax(){
        var xmlhttp=false;
        try {
                xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
                } catch (e) {
                        try {
                                xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
                                } catch (E) {
                                        try{
                                                xmlhttp = new XMLHttpRequest();
                                        } catch(E2){
                                                xmlhttp = false;
                                        }
                        }
        }
       
        if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
        xmlhttp = new XMLHttpRequest();
        }
        return xmlhttp;
}


function resAjax(id_prod){
        aj=nuevoAjax();
        aj.open("POST", "aj_detprod.php?id_prod="+id_prod, true);
        var ladesc;
        aj.onreadystatechange=function(){
          // desde aca ya no me funciona
                if(aj.readyState==4) {
                        ladesc = aj.responseText;
                }
        }
        return ladesc;
        aj.send(null);
}

de hecho, copié y pegué un código anterior muy similar, pero no quiere funcionar, y no logro identificar el error.

Alguien nota algo malo en el código?

salu2

Hexclectiomicron 09/05/2006 03:36

El error esta aqui:

return ladesc;
aj.send(null);

Haces un return en la funcion, osea que hasta ahi se ejecuta la funcion. Con return, terminas la funcion.
Osea que el aj.send() nunca se hace. Y para hacer Ajax necesitas enviarlo (send) si no, nada pasa. Es como si llenaras un formulario y no le dieras Send.

Saludos, hex.

Willy_Coyote 09/05/2006 09:31

la verdad es que ya lo resolví (aca me estaban apurando un poco, así que lo saqué a lo bruto) pero gracias por el dato, lo tendré presente para la otra (Y)


La zona horaria es GMT -6. Ahora son las 21:03.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.