Anuncio

Entra a participar en el Slack de Laraveles. Solicita tu invitación aquí.
Nos ayuda a manter la comunidad

#1 02/12/2016 16:26:26

Mark182
Miembro
Registrado: 08/08/2014
Mensajes: 87

Consulta sobre Ajax y Laravel

Buenas!

Estoy haciendo un boton como el de facebook (Me Gusta) y queria saber cual es la mejor forma de mostrar el contador?
Ya que, hasta que la request ajax no se haya completado, el boton sigue en "0 Me gusta".
Si pongo que cambien el contador antes que la request ajax se complete, puede que la request tenga un error y el "1 Me gusta" no seriea real, y cuando haga refresh de la pagina, volver a aparecer en "0 Me gusta".

Entonces, cual seria la mejor forma de hacer esto?


Muchas gracias.

Desconectado

#2 04/12/2016 04:54:01

eaides
Miembro
Registrado: 19/03/2015
Mensajes: 97

Re: Consulta sobre Ajax y Laravel

al comenzar la peticion ajax pon el boton en disabled, y puedes "pintarle" sobre el un spinner.
cuando la peticion ajax termina, sacas el spinner, haces el boton enabled, y si fue actualizado corectamente pones el nuevo valor..., si hubo error lo dejas como estaba.

Desconectado

#3 05/12/2016 09:40:36

Mark182
Miembro
Registrado: 08/08/2014
Mensajes: 87

Re: Consulta sobre Ajax y Laravel

No utilizo un boton, solo el icono del "like" y se pinta de un color o no si "likeo". Que podria hacer?

Desconectado

#4 05/12/2016 12:46:33

eaides
Miembro
Registrado: 19/03/2015
Mensajes: 97

Re: Consulta sobre Ajax y Laravel

la indicacion visual al usuario queda a tu criterio, lo importante es impedir que el usuario presione nuevamente el link (o si fuese un boton) hasta que la peticion ajax en curso termine, ya que sino no puedes saber el estado en que queda la base de datos ni cual respuesta pintas, ya que como las peticiones ajax son son asincronas, la segunda peticion podria terminar antes (devolveria por ejemplo 2 me gusta) y luego terminar la primera peticion (devolveria 1 me gusta) y con cual pintarias ? en este caso pintarias 1 me gusta y en realidad la BD tiene ya 2...

Por eso sea un boton o un link, yo lo pondria disabled

El tema de como le indicas al usuario que algo esta "pasando" seria un tema de dise#o que debes definir. Por eso yo decia de ponerle un spin al boton, pero claro, a un link no podes... pero si  podes por ejemplo poner un spin chiquito al lado del link... no se, ya te digo, es una custion de dise#o.

Estaba mirando en facebook, el boton de me gusta no se inhabilita (o es muy rapido para verlo).

Desconectado

#5 05/12/2016 13:45:18

Mark182
Miembro
Registrado: 08/08/2014
Mensajes: 87

Re: Consulta sobre Ajax y Laravel

eaides escribió:

la indicacion visual al usuario queda a tu criterio, lo importante es impedir que el usuario presione nuevamente el link (o si fuese un boton) hasta que la peticion ajax en curso termine, ya que sino no puedes saber el estado en que queda la base de datos ni cual respuesta pintas, ya que como las peticiones ajax son son asincronas, la segunda peticion podria terminar antes (devolveria por ejemplo 2 me gusta) y luego terminar la primera peticion (devolveria 1 me gusta) y con cual pintarias ? en este caso pintarias 1 me gusta y en realidad la BD tiene ya 2...

Por eso sea un boton o un link, yo lo pondria disabled

El tema de como le indicas al usuario que algo esta "pasando" seria un tema de dise#o que debes definir. Por eso yo decia de ponerle un spin al boton, pero claro, a un link no podes... pero si  podes por ejemplo poner un spin chiquito al lado del link... no se, ya te digo, es una custion de dise#o.

Estaba mirando en facebook, el boton de me gusta no se inhabilita (o es muy rapido para verlo).

Barbaro! Muchas gracias por tu respuesta big_smile

Desconectado

Pié de página <- REVISAR ->

Powered by FluxBB

Ayuda a mantener la comunidad: