Ver Mensaje Individual
  #1 (permalink)  
Antiguo 09/05/2017, 01:06
lightmoon
 
Fecha de Ingreso: septiembre-2015
Mensajes: 21
Antigüedad: 8 años, 7 meses
Puntos: 0
Problema retorno array en función

Hola a todos.

Estoy atascado en una situación que no tiene sentido.
Tengo esta función:

Código:
function ajax(datos,url){	
 if (confirm('¿Desea proceder?')){ 
	 var valores= new Array(2);	
		$.ajax({
			type:'POST',
 			url:url,
 			data:datos,
 			beforeSend: function(){
				 console.log("Espere...");
			 },
 			dataType: "json",
 			success: function (data) {
				console.log(data.success);
				alert(data.success);
				valores[1]= data.id;				
 			},
 			error: function (XMLHttpRequest, textStatus, errorThrown) {
				valores[0]=1;
 			   	alert('ERROR: No se ha podido realizar la acción.');
			   
			   
 			}
		}); //Fin ajax		
	return valores;
 }
}
La cual ejecuta en Jquery ajax y devuelve un array.

Aquí la función que llama a ajax():

Código:
function nuevo_trabajador(){ 
    var res = new Array(2);                
    res = ajax($('#insertar').serialize(),'index_ajax.php?controlador=gastos/gastos&accion=insertar_trabajador');
//Si quito alert no me devuelve bien los parámetros
    alert(res[1]);    
    if (res[0]===0){
       [...]    
   }
}
Lo que ocurre es que cuando quito el alert no me devueve los parámetros, en cambio si ejecuto el alert el array "res" coge correctamente los datos, y no sé por que.

¿Podéis echarme una mano por favor?
Muchas gracias.