在 PHP 中重定向 AJAX 调用


Redirect in PHP on AJAX call

我需要在 AJAX 调用中重定向到 PHP 代码中的另一个页面。我似乎唯一能在网上找到的关于这一点的事情就是使用 JavaScript 使用 window.location.href = 'url'; 做到这一点,但它不起作用。

如果我尝试使用 window.location.href 重定向以profile.php?user=person,那么它具有 url localhost/profile.php?user=person但是如果我像project/login/profile.php?user=person一样输入重定向的完整 URL,那么它会保持在同一页面上。profile.php页面仅回显 url 中的用户是谁。

有什么想法吗?

这是我的代码:

$.ajax({
        url: 'processes/login.inc.php',
        type: 'post',
        data: data,
        success: function(res) {
            if(res != '4502') {
                var s = 'profile.php?user='+res;
                window.location.href = s;
            }
        }
    });

和 PHP:

<?php
require_once('../core/init.php');
$username = escape($_POST['ul']);
$password = escape($_POST['pl']);
$user = new User();
$login = $user->login($username, $password);
if($login) {
    // Redirect::to('../profile.php?user='.$username);
    echo $username;
} else {
    echo '4502';
}

您必须分配完整路径,而不仅仅是 php 文件和参数,例如:

改变:

location.href = 'profile.php?user=person';

自:

location.href = '/login/profile.php?user=person';