Ver Mensaje Individual
  #1 (permalink)  
Antiguo 17/10/2013, 05:41
way2park
 
Fecha de Ingreso: mayo-2008
Mensajes: 224
Antigüedad: 16 años, 7 meses
Puntos: 4
closure for y ajax en uno solo

Hola genios!!!

pego la funcion primero y cuento luego
Código:
 
for(var i=0; i<te.length; i++){
		var nom=(te[i].getAttribute('id'));
		var cual;
		var id_idioma = document.getElementById("campo"+nom).value;
		var motivo = document.getElementById("campo"+nom).value;
		var moneda = document.getElementById("campo"+nom).innerHTML;
		var precio = document.getElementById("campo"+nom).value;
		var dataString='tipoBusqueda=6&idOfer='+ultimo+'&idioma='+id_idioma+'&motivo='+motivo+'&moneda='+moneda+'&precio='+precio;
        var resu = function(){
		      $.ajax({
         				 type: "POST",
			       		 url: "mots/pOfic.php",
						 data: dataString,
						 success: function(data) {
						 cual=data;
						                          }					  
					   })
				return cual;	
				};
		console.log("resu,"+resu); 		
				
 }//cierro for
Bien, no funciona.
El var resu muestra la funcion como texto, no ejecuta.
les cuento. el for contabiliza unos div creados dinamicamente, mientras los cuenta envia de a uno a ajax. si ajax vuelve con error debera cortar el for de lo contrario continuaria.
El punto crucial es que for es sincronico y ajax es asincronico ( o al reves ) y por ende el for no espera respuesta de ajax y sigue su marcha. Para cuando llega ajax con la respuesta el for apago la luz cerro la puerta y puso candado .
Leyendo por la web me encuentro en la solucion de closure........

Bien, dentro de mi ignorancia entendi un poquitin pero se ve que no del todo porque algo en la funcion estoy haciendo mal.

El break no lo puse todavia porque no logro hacer que ejecute la segunda funcion.

Alguna idea antes de que me internen