2014-11-24 2 views
0

Я пытался проверить форму входа, это мой Аякса код:запрос 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

+1

Вы хотя бы попытались отладить это самостоятельно? –

+0

@Rory McCrossan Я уже пытался отлаживать, но когда имя пользователя это нормально, оно просто переходит в другое условие успеха –

ответ

0

Ответ никогда не равен "". Это так просто. Вам нужно сделать что-то вроде console.log(response==="");, и вы увидите это сами. Это будет ложь. Ответ может быть " " или любое количество вещей. Существует подходящий тест для запуска, но вам нужно выяснить, что response равно "".

+0

да, вы были правы, ответ не "" или "", но я не уверен, что еще может быть. –

+0

предупреждение (ответ); расскажет вам, что это такое и может помочь вам найти ошибку – baao

+0

предупреждение показывает пустое сообщение, может быть, я должен попросить нулевой возврат на if –

0

я думаю, что ваши значения данных Var обычно для метода GET, Try массив:

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

или изменить тип получить и заменить $ _POST в $ _GET. Удача

Смежные вопросы