我正在尝试发出 AJAX 请求,将数据发送到 PHP 文件,检查用户名和密码是否正确,返回答案,然后运行确定运行会话的 login.php 文件。现在,我的 AJAX 请求除了打印登录页面的整个 HTML 代码之外什么都不做。如果有人知道原因,请告诉我......(我提前道歉,因为我发布了我所有的 login.js 和 checkLogin.php,我担心如果没有两者的上下文,这个问题可能无法回答)这是登录.js$(function() { //Once the document has fully loaded $("#login_form").submit(function(event) { //INITIALIZING VARIABLES var userName = $("#userName").val(); var passWord = $("#passWord").val(); var error = 0; event.preventDefault(); //Prevent normal submit action $("#userError, #passError").text(""); //Clear the text each time the user clicks submit if (userName == "") { //Checking if the username is blank $("#userError").text("Please enter your username"); error = 1; } if (passWord == "") { //Checking if the password is blank $("#passError").text("Please enter your password"); error = 1; } //BEGIN Ajax Request var $form = $(this), term = $form.find("userName, passWord"), url = 'checkLogin.php'; var posting = $.post(url, {username: userName, password: passWord}); posting.done(function(data) { $("#userError").text(posting.responseText); }); //END Ajax Request if (error == 0) { $("passError").text("Success"); } }); //END submit button click $("#login_form").submit();});
2 回答
交互式爱情
TA贡献1712条经验 获得超3个赞
您没有在 checkLogin.php 上返回任何内容。你应该试试:
$row = mysqli_fetch_assoc($result);
if($row) {
echo "User found!";
exit();
}
我会推荐你,以 json 格式返回文本。通过这种方式,您可以返回更复杂的响应以在您的 js 脚本中使用。例如,在您的 checkLogin.php 中:
$row = mysqli_fetch_assoc($result);
if($row) {
echo json_encode([
'code' => '1', // code that represent successful
'message' => 'User found!'
]);
exit();
}
在你的 login.js 中:
posting.done(function(data) {
var response = JSON.parse(data);
if(response.code == '1') {
$("#userError").text(response.message);
}
});
- 2 回答
- 0 关注
- 301 浏览
添加回答
举报
0/150
提交
取消