我有一个登录表单,我目前使用AJAX来显示来自login.php
脚本的错误消息,例如“错误的电子邮件”,在我的index.php
上的登录表单中的div上,而不是加载包含错误的新页面。
但是,当详细信息正确并且登录成功时,它也会在我的登录表单中的整个成功页面位置上显示该div。我不知道如何解决这个问题,我已经尝试了一个if语句来说明它是否成功加载了一个新位置,但仍然无效。这是我的登录表单的AJAX:
$("#login_button").click(function() {
$.post($("#login_form").attr("action"),
$("#login_form :input").serializeArray(),
function(info) {
if (info.status != null) {
header('Location: home.php');
} else {
$("#login_errors").html(info)
};
});
// Prevent the default action from occurring.
return false;
});
有人知道如何解决这个问题吗?
答案 0 :(得分:3)
这行header('Location: home.php');
出错了,这是一个你试图在JS下使用的PHP语句。
您可以使用window.location = "home.php";
在JS下重定向。
我认为另一件事是错误的
回调函数需要两个参数
您在动作脚本上返回的内容。
已过帐表单的状态
将function(info) {
更改为function(info, status) {
并使用if if if statement,类似if (status!="success") {
了解post in JS
:http://www.w3schools.com/jquery/jquery_ajax_get_post.asp