Ver Mensaje Individual
  #4 (permalink)  
Antiguo 16/07/2013, 08:18
Avatar de neodani
neodani
 
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 2 meses
Puntos: 20
Respuesta: Trabajar peticiones en background

Gracias por vuestras respuestas, la cosa es que ya utilizo Ajax...
Cuando el usuario invita a un amigo se lanza esta petición Ajax que envía los datos del formulario al script que se encarga de validar la solicitud y de enviar el correspondiente mail al usuario, tipo tienes un nuevo amigo, etc.

El problema que veo es que hasta que no envía el correo no hace el success la petición y por tanto no muestra los mensajes siguientes al usuario que acaba de realizar la acción.

Hasta que no termina de procesar el script invite_friend.php (y por tanto enviar el correo) no muestra la respuesta al usuario.

¿Se os ocurre alguna forma de mejorar eso? porque con solo con Ajax sigo sin ver la solución.

Código Javascript:
Ver original
  1. $.ajax({
  2.     url: '/ajax/invite_friend.php',
  3.     data: datos_formulario,
  4.     type: 'POST',
  5.     dataType: 'json',          
  6.     success: function(datos){
  7.         $('.blockSubmit_formAmigos').unblock();
  8.         $("#amigo").attr('readonly', false);
  9.         $("#amigo").attr('value', '');
  10.        
  11.         if (datos.error_code==0){ // No son amigos, se envia la petición
  12.             $('#respuesta').html(datos.mensaje);
  13.             $('.invitacion_amigo_ok p').html(datos.mensaje);                       
  14.             setTimeout (function (){ $(".invitacion_amigo_ok").fadeIn (800);}, 500);
  15.             setTimeout (function (){ $(".invitacion_amigo_ok").fadeOut (800)}, 4000);
  16.             setTimeout (function (){ $(".blockSubmit_formAmigos button").fadeIn (800);}, 5000);
  17.             peticionAmigos('invitaciones_enviadas');       
  18.     }
  19. });

Muchas gracias de antemano!