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ú

Mensajes - dobleamarilla

#1
Efectivamente. No estaba teniendo en cuenta esto que me comentas. Ahora funciona perfectamente.

Mil gracias! Ya me estaba volviendo loco  ;D

Saludos.
#2
Claro! Con este código:
Código (javascript) [Seleccionar]
var aux = null;
class Cesta
{
   constructor()
   {
       this._arrayCesta = null;
       this._prueba = 69;
   }

   cargarCesta()
   {
       ajaxCesta(function(data){
           if(data.error)
           {
               alert(data.infoError);
           }
           else
           {
               alert(data.error);
               this._arrayCesta = "lal";
               alert(this._prueba);
           }
       });
       //this._arrayCesta = aux;
   }
}

function ajaxCesta(callback)
{
   $.ajax({
       url: 'ajax/cargarCesta.php',
       success: callback,
       error: function () {
           alert("Error AJAX en cargarCesta()");
       }
   });
}
var cesta = new Cesta();


Luego desde la consola del navegador escribo:

cesta.cargarCesta();

Ahora he probado añadiendo this._prueba = "lal"; en el constructor, y veo que al hacer un alert o un console.log me muestra "undefined" (solo dentro de ajaxCesta(function(){........});

EDITO: Este código lo incluyo en el archivo .html, desde el achivo .js que contiene este código. cesta.cargarCesta(); lo ejecuto desde la consola una vez ya existe el objeto cesta y después de que la página ya haya cargado completamente.

Para comprobar el valor escribo cesta._arrayCesta;
#3
Sí eso me pasaba al principio, pero luego utlizando la promesa, logré que funcionara fuera de una clase. Pero en la línea 19, en lugar de aux = data, ponía this._arrayCesta = data; y aún así no había manera. Es como si dentro de la función de la promesa function(){...} aquí dentro no hay acceso a la variable this._arrayCesta, porque lo pruebo con el valor de la promesa "data" o con un valor fijo this._arrayCesta = 5; y sigue manteniendo null como valor.
#4
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: