从PHP登录请求获取空的AJAX响应
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从PHP登录请求获取空的AJAX响应相关的知识,希望对你有一定的参考价值。
我有以下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;
}
});
在控制台中,所有值都正确传递并返回成功但值为空。任何帮助是极大的赞赏。
谢谢
答案
你没有在你的请求中传递任何m_login_signin_submit
,因此你永远不会进入你的主要if语句。我猜这是表单的提交按钮,但由于这是ajax,除非你明确地这样做,否则它不会被发送。
data: {
email:email,
password:password,
m_login_signin_submit: 1
},
以上是关于从PHP登录请求获取空的AJAX响应的主要内容,如果未能解决你的问题,请参考以下文章