2014-11-24 128 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。 祝你好運