我正在编写一个登录脚本,我想将输入发送到PHP脚本,检查它,然后做一些与我在config.php文件中匹配的东西。
伪php代码(admin_login.php)
<?php
require("../config.php");
if($_POST['password'] == $password) {
$showLoginPage = true;
}
else {
$showLoginPage = false;
}
?>
jQuery的:
$("#admin_login_submit").click(function(event) {
event.preventDefault();
var pass = $("#admin_login_password").val();
$.post("includes/process/admin_login.php",
{ password: pass },
function(data){
$("#show_admin_feedback").html(data);
});
如果我可以神奇地创建jQuery代码,我想要做的就是这样:
$("#admin_login_submit").click(function(event) {
event.preventDefault();
var pass = $("#admin_login_password").val();
$.post("includes/process/admin_login.php",
{ password: pass },
function(data){
$("#show_admin_feedback").html(data);
showLoginPage = $showLoginPage;
});
if(showLoginPage == true) {
$("#main").load("logged_in.php");
}
});
哦,我有$("#show_admin_feedback").html(data);
被退回,因为我在测试时回来了“工作”或“没工作”。 :-P。
------固定。谢谢,抖动!
PHP
<?php
require("../config.php");
if($_POST['password'] == $password) {
header('HTTP/1.1 200 OK');
}
else {
header('HTTP/1.1 404 Not Found');
}
?>
的jQuery
$("#admin_login_submit").click(function(event) {
event.preventDefault();
var pass = $("#admin_login_password").val();
$.ajax({
type: "POST",
url: "includes/process/admin_login.php",
data: "password=" + pass,
success: function(){
$("#main").load("logged_in.php"); },
error: function(){
$("#admin_login_show").html("<b>Failed Login</b>"); }
});
});
答案 0 :(得分:4)
当登录失败时,只需修改您的php脚本即可返回404的http状态代码。这样您的回调函数就不会触发,您将保持在登录页面上。但是你需要拿出一些东西告诉用户登录失败。
或者您考虑使用$.ajax()
来代替$.post()
。现在,您可以重写您的php脚本,根据登录成功/失败的情况设置不同的HTTP状态代码。
e.g。成功时返回200,登录失败时返回404。
现在通过$.ajax()
电话,您可以注册success
和errror
回调并采取相应措施。在两种情况下设置show_admin_feedback
(显示表示用户成功/失败的内容)以及成功是否也调用$("#main").load("logged_in.php");
答案 1 :(得分:2)
从您的PHP代码中导出JSON,并使用您从此JSON获得的对象执行任何操作:)