Foros del Web » Programando para Internet » Jquery »

[SOLUCIONADO] borrar antes que listar

Estas en el tema de borrar antes que listar en el foro de Jquery en Foros del Web. estoy realizando un programa y necesito que primero borre y luego actualice y el problema es que me lo hace aleatoriamente, a veces me borra ...
  #1 (permalink)  
Antiguo 14/11/2014, 05:33
 
Fecha de Ingreso: mayo-2011
Ubicación: Entre Navarra y Aragón
Mensajes: 96
Antigüedad: 13 años, 6 meses
Puntos: 0
borrar antes que listar

estoy realizando un programa y necesito que primero borre y luego actualice y el problema es que me lo hace aleatoriamente, a veces me borra primero y luego me lista y luego me lista y me borra después aunque si lo muestro en la consola se ejecuta bien...

he probado a darle un tiempo de un segundo entre le ejecución de uno y de otro pero no lo soluciona...

he de decir que lo tengo es dos funciones click, una borra y otra lista y se ejecutan "a la vez"

como podría hacer que se ejecuten siempre en orden?
  #2 (permalink)  
Antiguo 15/11/2014, 11:46
Avatar de Djoaq  
Fecha de Ingreso: septiembre-2012
Ubicación: Barcelona
Mensajes: 271
Antigüedad: 12 años, 1 mes
Puntos: 38
Respuesta: borrar antes que listar

Pon el código que tengas hecho y así podremos ayudarte.
Un saludo!
  #3 (permalink)  
Antiguo 17/11/2014, 14:07
 
Fecha de Ingreso: mayo-2011
Ubicación: Entre Navarra y Aragón
Mensajes: 96
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: borrar antes que listar

Cita:
Iniciado por Djoaq Ver Mensaje
Pon el código que tengas hecho y así podremos ayudarte.
Un saludo!
perdona, no me di cuenta

Código Javascript:
Ver original
  1. $("#list-admins table").on("click", ".borrar", function(){
  2.     var idAdmin=$(this).attr('id');
  3.     var API_URIAdmin = "http://localhost/administrador/";
  4.     $.ajax({
  5.         type:'DELETE',
  6.         crossDomain: true,
  7.         url:API_URIAdmin+idAdmin,
  8.         dataType:"json",
  9.         beforeSend: function() {
  10.         },         
  11.         success:function(response) {
  12.             json=response
  13.         },    
  14.         error:function(jqXHR, data, textStatus, errorThrown) {
  15.             console.log(data);
  16.             console.log(errorThrown);
  17.         }
  18.     });
  19. });
  20. $("#list-admins table").on("click", ".borrar", function(){ 
  21.     $.ajax({
  22.         type:'GET',
  23.         crossDomain: true,
  24.         url:API_URIAdmin,
  25.         dataType:"json",
  26.         beforeSend: function() {
  27.         },         
  28.         success:function(response) {
  29.             json=response
  30.             $("#list-admins table tr").remove();
  31.             for(var i=0; i<json.length;i++){
  32.                 $("#list-admins table").append("<tr><td><img src='"+json[i]['imgPerfil']+"' /></td><td><span>"+json[i]['usuario']+"</span></td><td><span>"+json[i]['email']+"</span></td><td  class='borrar' id='"+json[i]['idAdministrador']+"'><img src='./../../images/icon/trash.png' style='height:24px;' /></td></ul>")
  33.             }
  34.         },    
  35.         error:function(jqXHR, data, textStatus, errorThrown) {
  36.             console.log(data);
  37.             console.log(errorThrown);
  38.         }
  39.     });
  40. });
  #4 (permalink)  
Antiguo 17/11/2014, 17:47
Avatar de andresgarciadev  
Fecha de Ingreso: junio-2013
Mensajes: 218
Antigüedad: 11 años, 4 meses
Puntos: 32
Respuesta: borrar antes que listar

por que no haces mejor que el evento delete te retorne la data que que te devuelve el segundo ajax? si al final de cuenta usa casi la misma url, me parece que hacs dos ajax cuando es innecesario ya que el primer ajax que elimina no retorna nada importante por lo que veo
  #5 (permalink)  
Antiguo 18/11/2014, 03:30
Avatar de Trublux  
Fecha de Ingreso: octubre-2010
Ubicación: Madrid
Mensajes: 355
Antigüedad: 14 años, 1 mes
Puntos: 48
Respuesta: borrar antes que listar

Para lo que quieres tienes que hacer la segunda petición en el "success" de la primera (y así solo tendrías un evento capturado al hacer click en la clase borrar).
Otra opción sería que les pusieses el parámetro async a false pero no creo que sea buena idea en este caso.
__________________
eZ Publish Developer Basic Legacy
eZ Publish Developer Basics (4.4)
Alojamientos rurales en España
  #6 (permalink)  
Antiguo 18/11/2014, 06:14
 
Fecha de Ingreso: mayo-2011
Ubicación: Entre Navarra y Aragón
Mensajes: 96
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: borrar antes que listar

Cita:
Iniciado por andresgarciadev Ver Mensaje
por que no haces mejor que el evento delete te retorne la data que que te devuelve el segundo ajax? si al final de cuenta usa casi la misma url, me parece que hacs dos ajax cuando es innecesario ya que el primer ajax que elimina no retorna nada importante por lo que veo
pensé en esta solución pero no me pareció demasiado limpia, pero he probado y es la más efectiva, lo hace sin problema, gracias!

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:28.