2014-11-24 64 views
0

我一直在试图验证登录表单去,这是我的Ajax代码:Ajax请求总是通过别人

<script>  
$(document).ready(function() { 
/* Asociar el evento de clic del botón 'igual' 
    con la lógica del negocio de la aplicación */ 

    $('#formlogin').submit(function() { 
     procesar(); 
     return false; 
    }); 
}); 

function procesar() { 
    var data = 'usuario=' + $('#usuario').val() + '&contrasenia=' + $('#contrasenia').val(); 
    $.ajax ({  
     url: 'postlogin.php', /* URL a invocar asíncronamente */ 
     type: 'post', /* Método utilizado para el requerimiento */ 
     data:  /* $('#formulario').serialize()*/data, /* Información local a enviarse con el requerimiento */ 

/* Que hacer en caso de ser exitoso el requerimiento */ 

     success: function(response) {  
      if((response) == ""){  
       window.location = "./home";  
      }else{ 
       $('#mensaje').html(response); 
      }  
     }, 

/* Que hacer en caso de que sea fallido el requerimiento */ 

     error: function(response) { 

/* Limpiar cualquier resultado anterior */ 

      $('#mensaje').html('Error de subida'); 
     } 
    }); 
}  

</script> 

,这是我的PHP文件:

<?php 

include('libreria.php'); 
$conn= conectar(); 

if(isset($_POST["usuario"])){ 
    $resulusuario= verificarusuario($_POST["usuario"], $_POST["contrasenia"], $conn); 

    if($resulusuario->num_rows==0){ 
     echo "ERROR: usuario o contraseña ingresados incorrectos";  
    } else{ 

     session_start();  
     $_SESSION['usuario'] = $_POST['usuario'];   
    } 
}else{ 
    if(isset($_POST["mensaje"])) {  
     cargartweet($_POST["idusuario"], $_POST["mensaje"], $_POST["fecha"], $conn);  
    } else {  
     if(isset($_POST["nombreusuarioseguir"])) {  
     }  
    } 
} 
?> 

任何想法,为什么它总是通过AJAX成功的别的事情?我的意思是,即使用户名和它的确定的密码,也不会重定向我,最糟糕的是,昨天是工作...

+2

'console.log(response)'? – mudasobwa 2014-11-24 15:39:29

+1

你有没有至少试图自己调试? – 2014-11-24 15:40:41

+0

@Rory McCrossan我已经尝试过调试,但是当用户名这是确定的,它只是通过成功 – 2014-11-24 16:07:46

回答

0

响应的永远不会等于""。就这么简单。你需要做一些类似于console.log(response==="");的事情,你会自己看到这个。这将是错误的。回应可能是" "或任何数量的东西。有一个适当的测试运行,但你需要找出什么response等于不是""

+0

是的,你说得对,回答不是“”或“”,但我不知道还有什么其他的东西可以。 – 2014-11-24 16:42:28

+0

alert(response);会告诉你它是什么,并可能帮助你找到错误 – baao 2014-11-24 16:47:48

+0

该警报显示一个空白的消息,也许我应该要求一个空回报if if – 2014-11-24 16:58:42

0

我觉得你的VAR的数据值通常是GET方法,尝试阵列:

var data = { usuario: $('#usuario').val(), contrasenia: $('#contrasenia').val() }; 

或变更类型来获取和替换$ _ POST到$ _GET。 祝你好运