Nueva pregunta

Pregunta:

Fecha: 11-12-2015 07:45:57 (En Español)

Pregunta Ajax[Resuelta]

Buenos dias comunidad , tengo un problemilla cuando ejecuto este codigo


  var formulario = $("#dialog_DET_RecMantenimiento:visible"),
                                valores = {
                                entidad : entidad,
                                name_mes : $(formulario).find("#cboMesRecMant option:selected").text(),
                                mes : $(formulario).find("#cboMesRecMant option:selected").val(),
                                anio  : $(formulario).find("#txtAnioRecMant").val()
                            }, codigos = [1564,1459,9456],
                               data_Send_JSON = '',
                               bien = 0,
                               error = 0;

  for (var i = 0; i < codigos.length; i++) {
                                valores["unidad"] = codigos[i];
                                data_Send_JSON = JSON.stringify(valores);
                                /* Envio de los correos electronicos 1 x 1 */
                                $.ajax({
                                        url: 'nuevo_formato/envio_correo.php',
                                        type: 'POST',
                                        data: {  valores : data_Send_JSON },
                                        dataType: 'json',
                                        success:function(data){
                                                  bien++;
                                        },error:function() {
                                                 error++;     
                                        }
                                })
                         }

                  console.log(bien);
                  console.log(error);      



Nota : El codigo esta incompleto quizas algunos digan de donde la variable entidad eso no viene al caso.


Mi problema es como veran mi ajax esta dentro de un for en mi caso mi for llega del 1 al 3 entonces cuando hago click en mi boton que lllama a esta funcion se ejecutar simultaneamente las peticiones saliendo esta

http://localhost/demo/nuevo_formato/envio_correo.php
http://localhost/demo/nuevo_formato/envio_correo.php
http://localhost/demo/nuevo_formato/envio_correo.php

Lo que quiero es que sea 1 por 1 , osea termina la primera peticion luego sigue la segunda y asi sucesivamente

por que cuando es simultaneamente despues de termina el for hago esto


   console.log(bien);
   console.log(error);    


y ambos me sale 0

y es porque es simultaneo la peticion se ejecutan al mismo tiempo es por ello que quiero que se ejecute 1 por 1 , espero se haya entendido el problema saludos



Etiquetas: AJAX - Pregunta Votos: 3 - Respuestas: 1 - Vistas: 14 Compartir en: Google Facebook Twitter LinkedIn Link
 

Respuestas:

  • Fecha: 11-12-2015 09:15:28 Si quieres enviar uno por uno las peticiones aumenta esta linea a tu ajax async: false,

    quedaria asi

    
    $.ajax({
                                            url: 'nuevo_formato/envio_correo.php',
                                            async: false,
                                            type: 'POST',
                                            data: {  valores : data_Send_JSON },
                                            dataType: 'json',
                                            success:function(data){
                                                      bien++;
                                            },error:function() {
                                                     error++;     
                                            }
                                    })
    
    
    
      Votos: 5 - Link respuesta
     
Para participar activamente de la comunidad primero debes autenticarte, ingresa al sistema.Iniciar Sesión
 
frjcbbae garagebible.com