0

espero puedan ayudarme con mi problema o mi desconocimiento de algunos métodos.

Estoy realizando atraves de ajax una solicitud y esta me devuelve un array de datos y los puedo ver en la parte del succes de la llamada al procedimiento ajax, pero mi problema es cuando quiero esos datos fuera del success. a continuación a ver si me ayudan le muestro el código.

class Busqueda{

constructor(){
    let subdepartamentos = this.obtenerSubDep();
    console.log("subdepartamentos", subdepartamentos);
    console.log("subdepartamentos", subdepartamentos.length);
    subdepartamentos.forEach(function(data){
        console.log(data);
    });
    
}
obtenerSubDep(){
    var subdep = [];
    $.ajax({
        url:"ajax/subdepartamento.ajax.php",
        method: "POST",
        cache: false,
        contentType: false,
        processData: false,
        dataType: "json",
        success: function(respuesta){       
             respuesta.data.forEach(function(data){
                subdep.push({"departamento": data[0], "subdep": data[1], "botones": data[2]});
            });
            console.log("subdep dentro de success:", subdep);
        }
    });
    return subdep;  
}}

Como pueden ver estoy declarando una variable llamada subdepartamentos que quiero que obtenga los datos que vienen dados por respuesta de ajax esta variable obtiene los datos pero de una forma diferente a un array normal y no se como acceder a ellos. El length me arroja 0 aunque los datos estan, muestro la respuesta que me da la consola: introducir la descripción de la imagen aquí vemos Al desplegar los datos que se muestran no puedo recorrer los datos dentro de subdepartamentos aunque si en el subdep que esta dentro del success, muestro los datos desplegados: como pueden ver el console.log("contenido: ", data); no me arroja nada pero como vemos a continuación los datos si estan en la variable subdepartamentos: introducir la descripción de la imagen aquí Cómo podría solucionar este problema??

0 Answers0