我是第一次使用Ajax来调用php脚本。不幸的是,该脚本无法正常工作。他的指令均未执行。这是我使用Ajax的脚本:
<?php
if (isset($_GET['errore'])) {
switch ($_GET['errore']) {
case 'authfailed':
echo
'<script>
$("#status").html("Credenziali Errate");
$("#status").css("color","red");
setTimeout(function(){
$("#status").html("Inserisci i dati forniti dall\'amministratore di sistema");
$("#status").css("color","black");
$.ajax({
url: "../php/redirect.php",
data: {action: "redirect_area_personale"},
type: "POST",
success: function() {}
});
}, 5000);
</script>';
break;
}
}
?>
这是名为:的脚本
<?php
if(isset($_POST['action']) && !empty($_POST['action'])) {
$action = $_POST['action'];
switch($action) {
case 'redirect_area_personale':
header("Location: ../pages/area_personale.php");
die();
break;
}
}
?>
控制台不显示任何错误。这可能是一个愚蠢的错误,但这是我的第一次尝试,非常感谢您的帮助!
Ajax需要来自PHP的响应,而不是重定向。您的重定向应使用如下的window.open或window.location.href在ajax成功函数中完成。
success: function(){
window.open("../path/area_personale.php", "_self");
}
或使用window.location.href
success: function(){
window.location.href="../path/area_personale.php";
}