【问题标题】:Redirect in PHP on AJAX call在 AJAX 调用中在 PHP 中重定向
【发布时间】:2014-04-07 17:17:17
【问题描述】:

我需要在 AJAX 调用上重定向到我的 PHP 代码中的另一个页面。我似乎在网上唯一能找到的就是通过 JavaScript 使用 window.location.href = 'url'; 来完成它,但它不起作用。

如果我尝试使用window.location.href 重定向到profile.php?user=person,那么它的网址为localhost/profile.php?user=person,但如果我输入重定向的完整网址,如project/login/profile.php?user=person,那么它会停留在同一页面上。 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重定向到另一个页面header('Location: http://www.example.com/');php.net/manual/en/function.header.php
  • @Scott 我试过了,当我通过 AJAX 调用 PHP 文件时它不会在 PHP 中重定向
  • 好的,所以您尝试在 AJAX 请求中间重定向页面?试试这个stackoverflow.com/questions/6910291/…

标签: javascript php jquery ajax


【解决方案1】:

你必须指定完整路径,而不仅仅是php文件和参数,例如:

变化:

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

收件人:

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

【讨论】:

    猜你喜欢
    • 2014-05-22
    • 2017-10-01
    • 2016-04-20
    • 1970-01-01
    • 1970-01-01
    • 2014-07-11
    • 2015-04-12
    • 1970-01-01
    相关资源
    最近更新 更多