Ver Mensaje Individual
  #6 (permalink)  
Antiguo 03/12/2012, 11:01
Avatar de catpaw
catpaw
 
Fecha de Ingreso: mayo-2010
Ubicación: xalapa
Mensajes: 856
Antigüedad: 14 años, 6 meses
Puntos: 23
Respuesta: algo mal al recibir la data en un envio de form por $.ajax

Ya "funciona" pero me da desconfianza por que como que no agarra a la primera en algunos casos, pruebo de 3 formas:

datos correctos, recibo el alert -> true
nombre usuario correcto, contraseña incorrecta, recibo alert -> la contraseña es incorrecta
datos incorrectos, recibo el alert -> el usuario no existe en el sistema

Código Javascript:
Ver original
  1. $(document).ready(function(){
  2.     $("#login").submit(function(){
  3.         if($("#usuario").val() == ""){
  4.             alert("Debe ingresar su nombre de usuario");
  5.         } else{
  6.             if($("#password").val() == ""){
  7.                 alert("Debe ingresar su contraseña");
  8.             } else{
  9.                 var formulario = $('#login').serialize();      
  10.                 $.ajax({
  11.                     type: 'POST',
  12.                     url: 'acceso_process.php',
  13.                     data: formulario,
  14.                     dataType: 'json',
  15.                     success: function(result){
  16.                         //alert(result);
  17.                         if (result.success){
  18.                             alert(result.success);
  19.                             $('#response').text(result.success).fadeIn('slow'); //esto no lo hace
  20.                         } else{
  21.                             alert(result.error);
  22.                             $('#response').text(result.error).fadeIn('slow'); //esto no lo hace
  23.                         }
  24.                     }
  25.                 });
  26.             }
  27.         }
  28.     });
  29. });

esto esta "bien" (salvo detalles) en ie9

si tengo :

alert(result.error);
$('#response').text(result.error).fadeIn('slow'); //esto no lo hace

si cambio

$('#response').text(result.error).fadeIn('slow'); //esto si lo hace
alert(result.error);

y peor si nada mas dejo:

$('#response').text(result.error).fadeIn('slow'); //pareciera que no hace nada, solo como que recarga la pagina

Editooooo esto si lo hace pero no se aprecia porque lo quita muy rapido, porque recarga la pagina $('#response').text(result.error).fadeIn('slow');

en chrome no funciona nada de ninguna forma :C

Última edición por catpaw; 03/12/2012 a las 11:20