elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


  Mostrar Mensajes
Páginas: [1]
1  Programación / Desarrollo Web / Re: [Duda] Problema con javascript CLASES en: 7 Septiembre 2018, 23:50 pm
Efectivamente. No estaba teniendo en cuenta esto que me comentas. Ahora funciona perfectamente.

Mil gracias! Ya me estaba volviendo loco  ;D

Saludos.
2  Programación / Desarrollo Web / Re: [Duda] Problema con javascript CLASES en: 7 Septiembre 2018, 22:21 pm
Claro! Con este código:
Código
  1. var aux = null;
  2. class Cesta
  3. {
  4.    constructor()
  5.    {
  6.        this._arrayCesta = null;
  7.        this._prueba = 69;
  8.    }
  9.  
  10.    cargarCesta()
  11.    {
  12.        ajaxCesta(function(data){
  13.            if(data.error)
  14.            {
  15.                alert(data.infoError);
  16.            }
  17.            else
  18.            {
  19.                alert(data.error);
  20.                this._arrayCesta = "lal";
  21.                alert(this._prueba);
  22.            }
  23.        });
  24.        //this._arrayCesta = aux;
  25.    }
  26. }
  27.  
  28. function ajaxCesta(callback)
  29. {
  30.    $.ajax({
  31.        url: 'ajax/cargarCesta.php',
  32.        success: callback,
  33.        error: function () {
  34.            alert("Error AJAX en cargarCesta()");
  35.        }
  36.    });
  37. }
  38. 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  Programación / Desarrollo Web / Re: [Duda] Problema con javascript CLASES en: 7 Septiembre 2018, 21:49 pm
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  Programación / Desarrollo Web / [Duda] Problema con javascript CLASES [Solucionado] en: 5 Septiembre 2018, 23:55 pm
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
  1. var aux = null;
  2. class Cesta
  3. {
  4.    constructor()
  5.    {
  6.        this._arrayCesta = null;
  7.    }
  8.  
  9.    cargarCesta()
  10.    {
  11.        ajaxCesta(function(data){
  12.            if(data.error)
  13.            {
  14.                alert(data.infoError);
  15.            }
  16.            else
  17.            {
  18.                alert(data.error);
  19.                aux = data;
  20.            }
  21.        });
  22.        this._arrayCesta = aux; /* AQUÍ EL PROBLEMA */
  23.    }
  24. }
  25. function ajaxCesta(callback)
  26. {
  27.    $.ajax({
  28.        url: 'ajax/cargarCesta.php',
  29.        success: callback,
  30.        error: function () {
  31.            alert("Error AJAX en cargarCesta()");
  32.        }
  33.    });
  34. }

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:
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines