Foros del Web » Programando para Internet » Jquery »

[SOLUCIONADO] Probla ajax se ejecuta dos veces

Estas en el tema de Probla ajax se ejecuta dos veces en el foro de Jquery en Foros del Web. Hola amig@s, Tengo un porblema con ajax y es que se me ejecuta dos veces.Me explico, el código de abajo me funciona perfectamente pero al ...
  #1 (permalink)  
Antiguo 14/08/2014, 13:58
 
Fecha de Ingreso: septiembre-2011
Mensajes: 176
Antigüedad: 12 años, 7 meses
Puntos: 0
Probla ajax se ejecuta dos veces

Hola amig@s,

Tengo un porblema con ajax y es que se me ejecuta dos veces.Me explico, el código de abajo me funciona perfectamente pero al ejecturlo me hace la petición ajax dos veces. Puse el alert() para verificar y me apaceren dos alert() por lo que creo que el error esta en el ajax.

Alguna idea, que estoy haciendo mal e buscado pero no encuentro nada, Gracias por su ayuda.

Código:
<script type="text/javascript">


  $(".datomdos").on('click', function() {
              $("#formulario").attr("action", "{page_url}app/end/{usuario}/");
              $("#formulario").submit();
   });



$(".url").on( "click", function() {
     //$(this).css("background-color", "red");

     this.className = 'btn btn-danger';
     var dato = {
      "data"     : $(this).attr('data'),
      "content"   : $(this).attr('content'),
      "usuario"   : {usuario},
    
    };

     $.ajax({
                url: '{page_url}app/addurl/',
                type: 'POST',
                data:  dato,
                success: function(rsp) {
                    alert(rsp);
                   
                   
                }
            }); 

});
    

</script>
  #2 (permalink)  
Antiguo 15/08/2014, 10:57
Avatar de carlosloaiza21  
Fecha de Ingreso: julio-2009
Mensajes: 175
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Probla ajax se ejecuta dos veces

Si no me equivoco se esta enviando dos veces por que cuando estas mandado el onclick de .datomdos en ese momento se envia el formulario y posteriormente tambien mandas ejecutar el ajax en el onclick de url, pruebaquitando la linea
$("#formulario").submit();
__________________
La vida de un hombre es mas interesante si ha fracasado, por que eso quiere decir que ha intentado superarse
  #3 (permalink)  
Antiguo 15/08/2014, 16:45
 
Fecha de Ingreso: septiembre-2011
Mensajes: 176
Antigüedad: 12 años, 7 meses
Puntos: 0
Respuesta: Probla ajax se ejecuta dos veces

Hola Gracias por tu respuesta pero date cuenta que es solo $(".url").on( solo es para los botones que tengo .url. De todas meneras lo quité y sigo teninedo el mismo error.

Un Saludo
  #4 (permalink)  
Antiguo 15/08/2014, 16:56
Avatar de andresgarciadev  
Fecha de Ingreso: junio-2013
Mensajes: 218
Antigüedad: 10 años, 10 meses
Puntos: 32
Respuesta: Probla ajax se ejecuta dos veces

pienso que el problema esta en el html, algo asi como que estas dandole click a una caja donde su caja padre tambien tiene la clase url y por lo tanto esta conciderando 2 clicks
fijate bien eso o pon tambien tu estructura html aca por si vemos algo que tu no
  #5 (permalink)  
Antiguo 15/08/2014, 17:04
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Probla ajax se ejecuta dos veces

También pensé en lo que dijo andresgarciadev, por lo que si ese fuera el caso, debes de controlar el bubbling con el método stopPropagation.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #6 (permalink)  
Antiguo 15/08/2014, 17:18
 
Fecha de Ingreso: septiembre-2011
Mensajes: 176
Antigüedad: 12 años, 7 meses
Puntos: 0
Respuesta: Probla ajax se ejecuta dos veces

Hola gracias por las respuestas el problema estaba en que en la plantilla Smarty estaba cargando por php dos veces el mismo archivo. Ya está resuelto, gracias por todo

Etiquetas: ajax, ejecuta, formulario, funcion, javascript, veces
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:39.