[Php-avanzado] consulta jquery para la tesis
Cesar Gimenez Lascano
cesargimenezlascano en gmail.com
Dom Jun 2 11:28:20 ART 2013
Gracias Leo! disculpame, a que te referís con "devolverlo ya cagado desde
el servidor"? a guardar los datos recibidos de las llamadas a las apis en
la base de datos? gracias x la ayuda. saludos!!
El 1 de junio de 2013 19:15, Leonardo Tadei - Pegasus Tech Supply <
leonardot en pegasusnet.com.ar> escribió:
> Cesar:
>
> Quiero volver a una cuestión que Matías platea muy correctamente:
> no
> tiene sentido hacer varias llamadas AJAX en un bucle, porque si te hace
> falta todo esto, devolvelo ya cargado desde el servidor y listo!
> Más allá del problema de sintaxis que haya, no es un uso razonable
> de
> AJAX, ya que es más lento todo esto que cargar los valores desde el
> principio.
>
> Acordate del "principio de programación KISS" !!!
>
>
>
> El sáb, 01-06-2013 a las 15:52 -0300, Cesar Gimenez Lascano escribió:
> > la del ultimo registro de la tabla de la base de datos
> >
> >
> > El 1 de junio de 2013 15:51, Cesar Gimenez Lascano
> > <cesargimenezlascano en gmail.com> escribió:
> > perdón mati, me adelante. El popup muestra bien la info de la
> > segunda llamada, pero de la primera muestra en todos los
> > popups la misma info.
> >
> >
> > El 1 de junio de 2013 15:36, Cesar Gimenez Lascano
> > <cesargimenezlascano en gmail.com> escribió:
> >
> > Genio Matias!!! anduvo de 10!!!! ahí entendí cual era
> > mi error, muchas gracias de verdad.Ya que estoy y sin
> > animo de abusar quisiera preguntarte, necesito tmb que
> > el popup muestre información de una llamada ajax mas,
> > donde encajaría en el nuevo código que me pasaste?
> > abrazo!!!
> >
> >
> > El 1 de junio de 2013 14:46, Matias Gea
> > <matigea en gmail.com> escribió:
> >
> > El problema lo tenés, probablemente acá:
> > var marker = new L.Marker(location, {title:
> > nombre, icon: myIcon});// creo el marcador
> > //llamo a la api de foursquare
> > $.getJSON('
> https://api.foursquare.com/v2/venues/'+fourID+'/tips?sort=recent&limit=2&client_id=315YX0EUHY5VW5SFVCPIBMMVYTSNCXNML20AHEEDL1Q2TMEE&client_secret=HOJHGWETZPZYXLS2NYSPMUO0A4WO2UQCUHVWEAXQWAOWROZ2',
> function(data2) {
> > var tip1 = data2.response.tips.items[0].text;
> > var tip2 = data2.response.tips.items[1].text;
> > marker.bindPopup("<div class='popup'>" +
> > "<span class='titulo'>"+ nombre +"</span>"
> > +"</br>"+ dir +"</br>"+ tel +"</br>"+ tip1
> > +"</br>"+ tip2 + "</div>", {maxWidth:
> > '600'}); // creo el popup
> > });
> >
> >
> > Fijate que estás declarando una variable
> > marker (en el for) y la utilizás para
> > relacionar el popup después que se resuelve el
> > request asincrónico. En ese momento (cuando
> > terminan los requests) ya finalizó hace rato
> > el for y marker queda con el útlimo valor.
> > Tenés que hacer que marker sea constante en la
> > función onSuccess del getJSON, así:
> >
> >
> > var marker = new L.Marker(location, {title:
> > nombre, icon: myIcon});// creo el marcador
> > //llamo a la api de foursquare
> > $.getJSON(
> > 'https://api.foursquare.com/v2/venues/'+fourID
> >
> +'/tips?sort=recent&limit=2&client_id=315YX0EUHY5VW5SFVCPIBMMVYTSNCXNML20AHEEDL1Q2TMEE&client_secret=HOJHGWETZPZYXLS2NYSPMUO0A4WO2UQCUHVWEAXQWAOWROZ2',
> > (function(marker){
> > return function(data2) {
> > var tip1 = data2.response.tips.items[0].text;
> > var tip2 = data2.response.tips.items[1].text;
> > marker.bindPopup("<div class='popup'>" +
> > "<span class='titulo'>"+ nombre +"</span>"
> > +"</br>"+ dir +"</br>"+ tel +"</br>"+ tip1
> > +"</br>"+ tip2 + "</div>", {maxWidth:
> > '600'}); // creo el popup
> > }
> > })(marker)
> > );
> >
> >
> >
> >
> > Probalo y contame.
> >
> >
> > Saludos!
> >
> >
> >
> >
> > El 1 de junio de 2013 14:39, Cesar Gimenez
> > Lascano <cesargimenezlascano en gmail.com>
> > escribió:
> >
> > Hola Matias!! mil gracias x la
> > respuesta!!, te envío directamente
> > toda la pagina, espero se entienda el
> > código. Lo que ves son varios links
> > (alojamientos, comercios, etc) que al
> > hacer click llaman a una función js
> > (getAlojs(), getComes(), etc ) que
> > trae datos desde la base de datos
> > (primer llamada ajax) y con ellos
> > crear una capa de marcadores y sus
> > popups y agrega todo a un mapa, con la
> > ayuda de una biblioteca js de mapping
> > que se llama leaflet. La segunda
> > llamada ajax (la que esta dentro del
> > for) se realiza a un servidor remoto
> > (la API del sitio foursquare en este
> > caso), los popups contienen
> > información proveniente de ambas
> > llamadas, por eso no veo como asociar
> > su creación a un evento onClick y los
> > cacheo a todos. Fijate que las dos
> > llamadas ajax las estoy probando solo
> > en la función getResto(), el resto de
> > los popups muestra solo info de la
> > base de datos y anda a la perfección.
> > Espero puedas ayudarme, saludos!!!
> >
> >
> > El 1 de junio de 2013 14:04, Cesar
> > Gimenez Lascano
> > <cesargimenezlascano en gmail.com>
> > escribió:
> >
> > Hola leo! gracias x la
> > respuesta!.
> > Efectivamente $.getJSON() hace
> > una llamada AJAX asincrónica
> > utilizando el framework JQuery
> > (linkeo a documentación
> > oficial x si sirve). Estuve
> > revisando mejor el resultado y
> > en realidad me muestra el
> > ultimo popup, así que puede
> > estar sucediendo lo que
> > comentas del bucle, lo del
> > nombre igual de variables no
> > es el problema, si.
> >
> >
> > El 31 de mayo de 2013 20:52,
> > Leonardo Tadei - Pegasus Tech
> > Supply
> > <leonardot en pegasusnet.com.ar>
> > escribió:
> >
> > Ufff... faltan muchos
> > detalles para empezar
> > a adivinar qué puede
> > estar
> >
> > pasando!
> >
> > Asumiendo que
> > $.getJSON() hace algún
> > tipo de llamada AJAX
> > usando el
> > framework JQuery, y
> > asumiendo que las
> > llamadas sean
> > asincrónicas, lo que
> > puede estarte pasando
> > es que las llamadas a
> > $.getJSON() adentro
> > del
> > bucle no alcancen a
> > terminar antes de que
> > vuelva a ser invocada
> > en el
> > próximo ciclo.
> >
> > Si lo que se ve es la
> > primera en vez de la
> > última, supongo que es
> > por la
> > implementación de la
> > biblioteca, pero
> > habría que destriparla
> > para estar
> > seguros.
> >
> > No debe ser el
> > problema, pero que
> > ambas funciones
> > anónimas usen como
> > parámetro la variable
> > "data" a mi de eriza
> > los pelos de la nuca,
> > por el
> > ámbito de las
> > variables en
> > JavaScript respecto de
> > las funciones, que es
> > mucho más amplio que
> > en otros lenguajes.
> >
> > Espero que alguien que
> > sepa más que yo de
> > JQuery nos ayude a
> > entender
> > qué es lo que pasa.
> >
> >
> > El vie, 31-05-2013 a
> > las 19:56 -0300, Cesar
> > Gimenez Lascano
> > escribió:
> > > Hola, tengo un
> > problema con un código
> > para armar una capa de
> > > marcadores, con su
> > respectiva ventana de
> > información (popups),
> > y
> > > agregarla a un mapa.
> > El código como está
> > crea todos los
> > marcadores
> > > pero solo el primer
> > popup. Es que la
> > función data del
> > segundo llamado
> > > $.getJSON se ejecuta
> > solo una vez? o el
> > mismo llamado?. Aclaro
> > que el
> > > popup se carga de
> > información de las dos
> > fuentes json por eso
> > esta uno
> > > dentro del otro.
> > Espero puedan darme
> > una mano!!!
> > >
> > >
> > > $.getJSON("carga
> > datos", function
> > (data) {
> > > for (var i
> > = 0; i < data.length;
> > i++) {
> > > var
> > nombre =
> > data[i].nombre;
> > > var dir
> > = data[i].direccion;
> > >
> > $.getJSON("cargar
> > otros datos",
> > function(data) {
> > > var var1= data.var1;
> > > var var2= data.var2;
> > > //crear popup
> > > });
> > > //crear
> > marcador
> > >
> > //agregar marcador a
> > la capa
> > > } // fin
> > del for
> > >
> > }).complete(function()
> {
> > > //agregar capa al
> > mapa
> > > });
> > >
> >
> > >
> >
> _______________________________________________
> > > Php-avanzado mailing
> > list
> > >
> >
> Php-avanzado en pato2.fi.mdp.edu.ar
> > >
> >
> http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado
> >
> > --
> > Leonardo Tadei
> >
> leonardot en pegasusnet.com.ar
> > Web:
> >
> http://leonardo.tadei.com.ar
> > Firma pública:
> >
> http://www.pegasusnet.com.ar/LeonardoTadei-public.key
> >
> >
> _______________________________________________
> > Php-avanzado mailing
> > list
> >
> Php-avanzado en pato2.fi.mdp.edu.ar
> >
> http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado
> >
> >
> >
> >
> >
> >
> >
> _______________________________________________
> > Php-avanzado mailing list
> > Php-avanzado en pato2.fi.mdp.edu.ar
> >
> http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado
> >
> >
> >
> >
> > --
> > Matias Fernando Gea
> > matigea en gmail.com
> > http://www.mfgea.com.ar
> >
> > _______________________________________________
> > Php-avanzado mailing list
> > Php-avanzado en pato2.fi.mdp.edu.ar
> >
> http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado
> >
> >
> >
> >
> >
> >
> > _______________________________________________
> > Php-avanzado mailing list
> > Php-avanzado en pato2.fi.mdp.edu.ar
> > http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado
>
> --
> Leonardo Tadei
> leonardot en pegasusnet.com.ar
> Web: http://leonardo.tadei.com.ar
> Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key
>
> _______________________________________________
> Php-avanzado mailing list
> Php-avanzado en pato2.fi.mdp.edu.ar
> http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://www3.fi.mdp.edu.ar/pipermail/php-avanzado/attachments/20130602/c39986ec/attachment-0001.html>
Más información sobre la lista de distribución Php-avanzado