Ajax 请求总是通过其他


ajax request always going through else

我一直在尝试验证登录表单,这是我的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 成功的其他?,我的意思是,即使用户名和密码没问题,它也不会重定向我,最糟糕的是昨天它正在工作......

响应永远不会等于"" 。 就是这么简单。 你需要做一些像console.log(response==="");这样的事情,你会亲眼看到这一点。 这将是错误的。 响应可能是" "的,也可能是任意数量的。 有一个适当的测试要运行,但您需要找出什么response等于什么不是""

我认为您的变量数据值通常用于GET方法,尝试数组:

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

或更改类型以获取 $_POST 和替换 $_GET。祝你好运