我试图在成功登录Ajax脚本时刷新页面,但页面没有刷新。我被迫手动刷新页面,然后它才会出现。请提前感谢您的帮助,非常感谢。
这是ajax的登录脚本;
$("document").ready(function() {
$("#what").click(function() {
var email = $("#emailLogin").val();
var password = $("#passwordLogin").val();
var dataString = 'email='+email+'&password='+password;
$.ajax({
type: "POST",
url: "authenticate.php",
data: dataString,
success: function(response){
//alert (response);
if (response == 0) {
$("#problem").html("Please enter correct details");
} else {
window.location = "index.php";
}
}
});
return false;
});
});
这是用于验证表单的php脚本
// authenticate.php
session_start();
require_once "database.php";
db_connect();
require_once "auth.php";
$user_id = credentials_valid($_POST['email'], $_POST['password']);
if($user_id){
log_in($user_id);
if($_SESSION['redirect_to']){
header("Location: " . $_SESSION['redirect_to']);
unset($_SESSION['redirect_to']);
}else{
header("Location: index.php");
}
}else{
echo "0";
}
?>
答案 0 :(得分:0)
您可以使用javascript重定向。 AJAX请求无法重定向用户的浏览器
if (response == 0) {
$("#problem").html("Please enter correct details");
} else {
window.location = "/index.php";
}
答案 1 :(得分:0)
当然你需要刷新页面,因为你使用JQuery发布,php函数只返回一些数据。
您有两种选择:
发布经典方式(表单提交)
使用window.location ='url'重定向javascript;
答案 2 :(得分:0)
window.location.href = 'url'
重定向它,你也可以在响应中发送代码状态,但不能自己编写。