我使用ajax与jQuery从我的网站上的页面请求。现在,如果登录失败(或由于其他原因调用失败),我将返回一条错误消息并将其放入标签中。但是如果调用成功,我想要导航到另一个页面。我的问题是,如果调用成功,我在标签中最终得到新页面的文本。
这是我的Javascript:
$.post("chklogin.php", { username: username, password: password }, function(data) {
$('#msg').html(data);
});
这是它调用的PHP:
if(mysql_num_rows($result)==0) {
$msg="<h3>Enter valid Username and Password.</h3>";
echo $msg;
} else {
$row=mysql_fetch_assoc($result);
$_SESSION["userid"]=$row["pgmail"];
header("location:user.php");
}
这个问题本来可以更清楚,我建议你在再次发帖之前检查一下你的拼写和代码。
问题是你没有发送重定向页面,你已经发送了被重定向调用的页面。
修复此问题:
首先,去掉PHP代码的头重定向并替换为:
echo 'SUCCESS';
其次,将AJAX代码修改如下:
$.post("chklogin.php", { username: username, password: password }, function(data) {
if(data=='SUCCESS'){
window.location.href = "user.php";
}else{
$('#msg').html(data);
}
});
这会使页面重定向,而不是AJAX调用的页面。