FacturaScripts  
Hola a todos,

Hace poco me ayudasteis a resolver una duda sobre una petición a la base de datos con $.get(), que quedó resuelta aquí.

Ahora vuelvo a tener un problema curioso con ello y es que creo que los datos que obtengo de la base de datos no llegan a tiempo, me explico:

1. Hago la petición de datos y los guardo en un array:
$.get("index.php", {page:"verproyecto", feed:"12"},function(mensaje){
                     feedscondiciones.push(mensaje);
                     }, "json");

2. Paso el array a una función para hacer algunos cálculos:
var total= costetotal(lineas,feedscondiciones);

3. Obtengo un error que dice "feedscondiciones is undefined".

Lo curioso es que en la consola de JS pongo "feedscondiciones" y está perfecto, con los datos que yo necesitaba. Ejecuto esa parte del código paso a paso en el depurador y sale todo bien y no hay ningún problema. He probado a meter la llamada a la función dentro del callback y el resultado es el mismo: error sin depurador, todo perfecto con depurador...

¿Alguna idea?

Gracias de antemano!

hace 3 meses   shawe   [partner]
Te importaría pegar una porción más grande de código en pastebin y pegarnos el enlace?

Yo hice algo similar y creo recordar que tuve un problema similar, así que puedo comparar lo que has hecho con lo hice.
hace 2 meses   carlospherraz_f74d39
Hola otra vez,

Este es el link a pastebin: https://pastebin.com/2FJf1Tb6

He puesto tres fragmentos separados (VIEW, CONTROLLER, MODEL), creo que será suficiente.

Gracias
hace 2 meses   shawe   [partner]
Creo que se puede dar por hecho, pero tienes en algún lugar algo como esto?

var feedscondiciones;


Lo pregunto porqué veo que le fuerzas la longitud a 0 en el primer fragmento, y quiero entender que lo ideal es "redefinir" la variable para vaciarla por ejemplo con feedscondiciones = array(); o con el tipo que le hubieras indicado que sea.
hace 2 meses   carlospherraz_f74d39
Donde declaro las variables tengo:
var feedscondiciones=[];


Cuando le fuerzo a que su longitud sea 0 es porque necesito vaciarla sin recargar la página y leí en algunos tutoriales que la mejor forma era esa... pero ni idea de por qué.
hace 2 meses   shawe   [partner]
No se si es la mejor forma, pero yo no lo había visto nunca así, en su lugar siempre lo he visto como:

feedscondiciones = [];
o con new

Aunque mirando esto, entiendo que si, lo que hiciste es correcto, pero explican que no reserva memoria nueva. Por si acaso, prueba a hacer ese cambio, a ver si deja de suceder.

En lo que te comenté que yo probé, recibía un JSON y el problema lo tenía a la hora de leerlo, pero veo que no tiene nada que ver, sino que en su momento no debía aclararme en la forma de parsearlo para pasarlo a array.
hace 2 meses   carlospherraz_f74d39
Lo he probado y nada, el problema es exactamente el mismo: funciona perfecto en el depurador pero no funciona fuera.
hace 2 meses   shawe   [partner]
Estas es la estructura que yo utilicé: https://pastebin.com/ZQKyL0zf

El problema que te comenté que tuve era porque el JSON (concretamente un geoJSON en este caso) lo tenía que recibir LeafLet directamente como un parametro, si lo procesaba yo antes, dejaba de funcionar.
hace 2 meses   carlospherraz_f74d39
He probado con esto:
for (var i= 0; i<feedsid.length;i++){
            $.get("index.php", {page:"verproyecto", feed:feedsid[i]},function(mensaje){
                feedscondiciones.push(mensaje);
                }, "json")
                        .done(function(){
                            var total= costetotal(lineas[i],feedscondiciones[i]);
                            costes_totales.push(total);
                        });
              }

y sigue pasando igual... no sé.
hace 2 meses   shawe   [usuario]
Prueba esto, por casualidad, me ha tocado hacer algo similar:

https://pastebin.com/pZpvWxV1
hace 1 mes   -   [cron]
[[Cerrado por inactividad]]
No se pueden hacer más comentarios. Mejor escribe una nueva pregunta

Financiación

17 patrocinadores

Este mes se han realizado un total de 17 aportaciones económicas para documentar, planificar, diseñar, programar y mantener el proyecto.

65% Complete

195 € este mes

+5 €




© 2013-2017 FacturaScripts