[Php-avanzado] consulta jquery para la tesis
Matias Gea
matigea en gmail.com
Mar Jul 16 11:34:19 ART 2013
Hola, Cesar.
Sí, podrías utilizar $.when().done().
Fijate, igualmente, de hacer enclose sobre las funciones que definas
en .done(), así no tenés problemas de variables globales o con basura.
Cualquier cosa avisame.
Saludos!
El día 13 de julio de 2013 15:12, Cesar Gimenez Lascano
<cesargimenezlascano en gmail.com> escribió:
> Hola Matias!!! me quede pensando en lo que hablamos hoy y me pregunto si
> podre organizar el código (y las llamadas getJSON) con la función .when() de
> jquery, la conoces? gracias x la ayuda, buen finde!!!
>
>
> El 4 de junio de 2013 16:12, Cesar Gimenez Lascano
> <cesargimenezlascano en gmail.com> escribió:
>
>> Gracias Matias x toda la info!! creo lo mejor sera llamar a las apis con
>> CURL desde el lado del servidor. Es importante lo que decís que hay que
>> tratar de no depender de servicios externos y no es un buen uso de AJAX el
>> que estaba haciendo como dijo Leo. Veremos como sale todo el sábado, dps te
>> comento, saludo grande y gracias x la ayuda y el tiempo!!!
>>
>>
>> El 4 de junio de 2013 08:55, Matias Gea <matigea en gmail.com> escribió:
>>
>>> Buenas!
>>>
>>> Exactamente a eso me refería. A pasar al server parte del proceso que
>>> ahora hace el cliente (algunas de las peticiones). Se puede llamar a las api
>>> fácilmente con curl o directamente file_get_contents o fopen.
>>>
>>> Igualmente conozco el paño y sé que algunas de las apis son bastante
>>> limitadas.
>>>
>>> Si hacés las peticiones desde el server, es necesario hacer caché. Uno de
>>> los parámetros que utilizan las apis para identificar el cliente es la ip
>>> (en especial las api que no requieren api key). Si hacés muchas peticiones
>>> desde la misma ip en un período corto de tiempo, te banean. Por ejemplo, si
>>> una api tiene un máximo de 100 peticiones por hora por ip, si no cacheas y
>>> te entran 110 clientes al sitio, te bloquean la api.
>>>
>>> Por esto también a veces es una buena opción que el haga la petición sea
>>> el cliente, te evitás los límites de algunas api, pero a costa de hacer
>>> muchas más peticiones y depender de la estabilidad de servicios externos
>>> (algunas apis, como la de facebook o twitter, pueden hacer que tu página
>>> cargue hasta 10 segundos más tarde, lo que rompe estadísticas, experiencia
>>> de usuario, etc.).
>>>
>>> Por eso es un caso a analizar, para no perder funcionalidad, pero
>>> maximizar la experiencia de usuario y recursos.
>>>
>>> Saludos!
>>>
>>> PD: Quiero saber que resuelven el sábado!
>>>
>>>
>>>
>>>
>>> El 3 de junio de 2013 16:04, Cesar Gimenez Lascano
>>> <cesargimenezlascano en gmail.com> escribió:
>>>
>>>> Gracias Leo! voy a repensar algunas cosas y seguimos dialogando el
>>>> sábado. Gracias x el tiempo, nos vemos!!
>>>>
>>>>
>>>> El 3 de junio de 2013 15:49, Leonardo Tadei - Pegasus Tech Supply
>>>> <leonardot en pegasusnet.com.ar> escribió:
>>>>
>>>>> Hola Cesar,
>>>>>
>>>>> si los datos se actualizan frecuentemente, no veo en tu código
>>>>> cómo se
>>>>> cargan más de una vez luego de cargada la página.
>>>>> La llamada AJAX tiene sentido para recargar una parte de la
>>>>> página,
>>>>> pero acá no hay un timer ni nada (o no lo veo) que haga que se
>>>>> recarguen
>>>>> las cosas.
>>>>> No conozco la interfaz, pero por el código parece que hay
>>>>> botones con
>>>>> cada categoría (alojamientos, bares, restaurantes, comercios y puntos
>>>>> de
>>>>> interés) y que al clickear cada botón, mostrar esa categoría y dejás de
>>>>> mostrar las otras.
>>>>> Al no recargarse automáticamente y al no mostrarse más de una
>>>>> capa a la
>>>>> vez, la aproximación KISS sería tener una página para cada cosa y que
>>>>> directamente se cargue la que corresponde.
>>>>> Luego en cada página ejecutás en PHP lo que sea que haga
>>>>> json/cargarAloj.php
>>>>> json/cargarBares.php
>>>>> etc
>>>>> y generás por ejemplo un vector JS con los datos; en el cliente
>>>>> solo te
>>>>> encargás de mostrar esos puntos.
>>>>>
>>>>> Esto es a lo que apuntaba Matías: podrías hacer lo mismo sin
>>>>> usar par
>>>>> nada AJAX y no pelearte con la race-condition que se te está generado.
>>>>>
>>>>> Por otra parte, posiblemente debas hacer que los:
>>>>> json/cargarAloj.php
>>>>> json/cargarBares.php
>>>>> etc
>>>>> guarden la respuesta y vayan a buscar cosas nuevas solo cada X
>>>>> minutos,
>>>>> para no saturar la API con peticiones (y que te echen a patadas)
>>>>>
>>>>> Supongo que como la cosa pasó de sintaxis a cuestiones del
>>>>> planteo del
>>>>> algoritmo, las veremos el sábado que viene cuando te des una vuela por
>>>>> el curso.
>>>>>
>>>>> Saludos cordiales!
>>>>>
>>>>>
>>>>>
>>>>> El lun, 03-06-2013 a las 13:47 -0300, Cesar Gimenez Lascano escribió:
>>>>> > Volviendo al código, si sugerís que caRgue los datos de las dos
>>>>> > llamadas remotas (foursquare, twitter) a la BD, estos datos se
>>>>> > actualizan frecuentemente, tmb para obtenerlos utilizo las ids
>>>>> > guardadas en mi BD, no veo como podría hacerlo de esa forma....
>>>>> > saludos y gracias!!!
>>>>> >
>>>>> >
>>>>> > El 3 de junio de 2013 13:40, Cesar Gimenez Lascano
>>>>> > <cesargimenezlascano en gmail.com> escribió:
>>>>> > Uh! perdón a mi por el error de tipeo!! creo que me traiciono
>>>>> > el subconciente porque esta implementacion se me complico
>>>>> > bastante....disculpas...
>>>>> >
>>>>> >
>>>>> > El 3 de junio de 2013 12:37, Leonardo Tadei - Pegasus Tech
>>>>> > Supply <leonardot en pegasusnet.com.ar> escribió:
>>>>> >
>>>>> > Hola Cesar,
>>>>> >
>>>>> > perdón por el error de tipeo.
>>>>> > Debería decir "devolverlo ya caRgado desde el
>>>>> > servidor"
>>>>> >
>>>>> > Salu2
>>>>> >
>>>>> >
>>>>> > El dom, 02-06-2013 a las 11:28 -0300, Cesar Gimenez
>>>>> > Lascano escribió:
>>>>> > > 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" !!!
>>>>> > >
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> 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
--
Matias Fernando Gea
matigea en gmail.com
http://www.mfgea.com.ar
Más información sobre la lista de distribución Php-avanzado