从PHP登录请求获取空的AJAX响应

时间:2018-02-28 18:35:00

标签: php ajax login

我有以下php代码,它可以自行运行。但是,当使用AJAX时,它会返回一个空响应。

PHP登录代码:

<?php
session_start();
include_once  'resources/database.php';

if(isset($_POST['m_login_signin_submit'])) {
    $email = trim($_POST['email']);
    $user_password = trim($_POST['password']);

    $password = MD5($user_password);

    try {
        $stmt = $db->prepare("SELECT * FROM users WHERE email=:email");
        $stmt->execute(array(':email' => $email));
        $row = $stmt->fetch(PDO::FETCH_ASSOC);
        $count = $stmt->rowCount();
            if($row['password']==$password) {
                echo '1';
                $_SESSION['user_session'] = $row['id'];
            } else {
                echo 'You do not matter.';
            }
    } catch (PDOException $ex) {
        echo $ex->getMessage();
    }
}

AJAX代码:

$(document).ready(function () {
/* validation */
$("#login-form").validate({
    submitHandler: submitForm
});
function submitForm() {
    var email = $('#email').val();
    var password = $('#password').val();
    console.log(data);
    $.ajax({
        type: 'POST',
        dataType: 'text',
        url: 'partials/processLogin.php',
        data: {
            email:email,
            password:password
        },
        success: function (response) {
            console.log("Checking success.");
            console.log(response);
        },
        error: function () {
            console.log("error");
        }
    });
    return false;
}

});

在控制台中,所有值都正确传递并返回成功但值为空。非常感谢任何帮助。

谢谢

1 个答案:

答案 0 :(得分:3)

您未在请求中传递任何m_login_signin_submit,因此您永远不会进入主if语句。我猜这是表单的提交按钮,但由于这是ajax,除非你明确地这样做,否则它不会被发送。

    data: {
        email:email,
        password:password,
        m_login_signin_submit: 1
    },
相关问题