Ajax не вызывает php скрипт - PullRequest
0 голосов
/ 24 апреля 2020

Я впервые использую 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;
    }
}
?>

Консоль не отображает никаких ошибок. Это может быть глупой ошибкой, но это моя первая попытка, поэтому любая помощь очень ценится!

1 Ответ

2 голосов
/ 08 мая 2020

Ajax нужен ответ от PHP, а не перенаправление. Ваше перенаправление должно быть выполнено в ajax успешной функции, используя window.open или window.location.href следующим образом.

 success: function(){
window.open("../path/area_personale.php", "_self");
}

или используя window.location.href

  success: function(){
window.location.href="../path/area_personale.php";
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...