Dem*_*mko 2 javascript php forms ajax jquery
您好,我提交表单后我遇到重定向问题.我正在使用简单的ajax表单来显示div中的登录错误.
$(document).ready(function(){
$('#formlogin').on('submit', function (e) {
$.ajax({
type: 'POST',
url: 'login.php',
data: $(this).serialize(),
success: function(data) {
$('div#ack').empty().append(data);
}
});
e.preventDefault();
});
Run Code Online (Sandbox Code Playgroud)
问题是在提交成功后它没有重定向到"logged_in.php"
这是php登录.
if (empty($username) === true || empty ($password) === true) {
$errors [] = 'Please enter both username and password!';
} else if (user_exists($username) === false) {
$errors [] = 'We can not find the name. Have you registered?';
} else {
$login = login($username, $password);
if ($login === false) {
$errors [] = 'This user name or password is incorrect.';
} else {
$_SESSION['user_id'] = $login;
header('Location: logged_in.php');
exit();
}
}
Run Code Online (Sandbox Code Playgroud)
如果重定向使用AJAX调用的页面,则不会重定向父页面.
你应该做的是回应标识用户已成功登录的内容.
也许不是header('Location: logged_in.php');你把:
echo "success";
Run Code Online (Sandbox Code Playgroud)
然后,在你的成功功能:
success: function(data) {
if (data == "success")
window.location = "logged_in.php";
else
alert("Wrong password.");
}
Run Code Online (Sandbox Code Playgroud)
请注意,success在ajax中并不意味着您已成功登录,只是意味着返回页面的请求没有错误(500).您仍需要确定要对数据执行的操作.
| 归档时间: |
|
| 查看次数: |
6164 次 |
| 最近记录: |