0

我正在处理 Ajax 登录表单。登录成功后的PHP处理页面,有3个选项可以重定向用户。

<?php
// ------------------------------------------------------------
// PROCESS LOGIN FORM ON POSTBACK
// ------------------------------------------------------------

if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    ...

    // 1. DEFAULT URL: default destination url from config
    $plLoginDestinationUrl = PL_DEFAULT_LOGIN_DESTINATION;

    // 2. RETURN URL: if return address present in url
    if (isset($_GET['ReturnUrl'])) {
        $plLoginDestinationUrl = $_GET['ReturnUrl'];
    }

    // 3. PER USER URL: if custom user destination in db exists
    if ($pllogin->loginDestinationUrl != 'default') {
        $plLoginDestinationUrl = $pllogin->loginDestinationUrl;
    }
}

如果表单在没有 javascript (jquery) 的情况下提交,一切正常。使用 ajax 提交页面在 #2 上失败。它只是不会解析 $_GET['ReturnUrl']。

使用ajax提交时我总是得到的PHP错误响应是:注意:未定义索引:ReturnUrl in。

4

1 回答 1

0

Ajax 很可能是发布而不是获取。尝试替换$_GET['ReturnUrl'];$_POST['ReturnUrl'];甚至$_REQUEST['ReturnUrl'];

于 2012-07-04T01:07:31.613 回答