Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - dobleamarilla

#1
Buenas! Tengo un problema desde hace unos días sobre un código escrito en javascript, estoy diseñando un app con la que se utilizan clases, pero después de buscar información por Internet no logro encontrar nada, tal vez no se pueda hacer lo que intento... Agradecería muchísimo a alguien que me pueda echar una mano para resolver este problema, o algo que tenga que estudiarme para entenderlo porque no hay manera.

Mi código es este:

Código (javascript) [Seleccionar]
var aux = null;
class Cesta
{
   constructor()
   {
       this._arrayCesta = null;
   }

   cargarCesta()
   {
       ajaxCesta(function(data){
           if(data.error)
           {
               alert(data.infoError);
           }
           else
           {
               alert(data.error);
               aux = data;
           }
       });
       this._arrayCesta = aux; /* AQUÍ EL PROBLEMA */
   }
}
function ajaxCesta(callback)
{
   $.ajax({
       url: 'ajax/cargarCesta.php',
       success: callback,
       error: function () {
           alert("Error AJAX en cargarCesta()");
       }
   });
}


Básicamente lo que hago después de instanciar un objeto de esta clase, es llamar a la funcion obj.cargarCesta(); con la finalidad de guardar la información que recibo por ajax (ajaxCesta()), pero la intención es guardarlo en una variable _arrayCesta DENTRO de la clase. El problema está cuando se ejecuta la línea "this._arrayCesta = aux;". No se guarda nadaaaaa. En cambio haciendo unas pruebas con una variable declarada fuera de la clase, sí que guarda correctamente el valor que recibe del archivo PHP, pero si intento hacer un "set" a this._arrayCesta, mantiene el valor null que le da el constructor.

¿Alguien sabe qué puede pasar?

Muchas gracias y disculpas por la ignorancia, pero esta vez me ha superado  :rolleyes: