成功后从PHP重定向Ajax

时间:2018-09-14 07:09:19

标签: ajax

这是另一个问题。我认为这个问题并不难解决。但是我还没有使用Ajax的丰富经验。

我的问题是我想在成功后重定向。为了更好地发挥想象力,我仅在此处提供登录代码的声明。

if ($row['odd_zam'] == 1) {
        $_SESSION['name'][0] = $row['skratka_titul']." ".$row['meno_zam']." ".$row['priezvisko_zam']." ".$row['skratka_titul'];
        $_SESSION['name'][2] = 1;   // 1 = otk
        $_SESSION['name'][3] = $row['prava_zam'];
        $n = header('Location: otk/index-test.php');
        echo $n;
    }
    if ($row['odd_zam'] == 2) {
        $_SESSION['name'][0] = $row['skratka_titul']." ".$row['meno_zam']." ".$row['priezvisko_zam']." ".$row['skratka_titul'];
        $_SESSION['name'][2] = 2;   // 2 = eir
        $_SESSION['name'][3] = $row['prava_zam'];
        $n = header('Location: eir/index.php');
        echo $n;
    }
    if ($row['prava_zam'] == 3) {
        $_SESSION['name'][0] = $row['skratka_titul']." ".$row['meno_zam']." ".$row['priezvisko_zam']." ".$row['skratka_titul'];
        $_SESSION['name'][2] = 3;   // 3 = spravca
        $_SESSION['name'][3] = $row['prava_zam'];
        $n = header('Location: zam/index.php');
        echo $n;
    }

在我的ajax代码中,我这样做:

success: function(data){
            window.location.href = data;
        }

但是问题是此代码记录了我,但它不会重定向我。 我尝试了window.location.href = data.n;,但这不起作用。

3 个答案:

答案 0 :(得分:0)

在成功函数中,您可以使用location.reload(); Javascript函数重新加载同一页面。

success: function(data){
    location.reload();
}

但是,如果您想重新加载到其他页面,请像这样提及页面地址:

success: function(data){
    window.location.href = 'path to reload file';
}

答案 1 :(得分:0)

您在这里有些困惑。

header用于发送原始HTTP标头。 此外,它不会返回值,因此您的$n将始终为null

您必须更改代码:

if ($row['odd_zam'] == 1) {
        $_SESSION['name'][0] = $row['skratka_titul']." ".$row['meno_zam']." ".$row['priezvisko_zam']." ".$row['skratka_titul'];
        $_SESSION['name'][2] = 1;   // 1 = otk
        $_SESSION['name'][3] = $row['prava_zam'];
        $n = "otk/index-test.php";
        echo $n;
    }
    if ($row['odd_zam'] == 2) {
        $_SESSION['name'][0] = $row['skratka_titul']." ".$row['meno_zam']." ".$row['priezvisko_zam']." ".$row['skratka_titul'];
        $_SESSION['name'][2] = 2;   // 2 = eir
        $_SESSION['name'][3] = $row['prava_zam'];
        $n = "eir/index.php";
        echo $n;
    }
    if ($row['prava_zam'] == 3) {
        $_SESSION['name'][0] = $row['skratka_titul']." ".$row['meno_zam']." ".$row['priezvisko_zam']." ".$row['skratka_titul'];
        $_SESSION['name'][2] = 3;   // 3 = spravca
        $_SESSION['name'][3] = $row['prava_zam'];
        $n = "zam/index.php";
        echo $n;
    }

通过这种方式,您可以这样做:

success: function(data){
            window.location.href = data;
        }

答案 2 :(得分:-1)

尝试

success:function(data) { 
            window.location.href = 'url?param=' + data
        }