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 エラー応答は、次のとおりです: Notice: Undefined index: ReturnUrl in.

4

1 に答える 1

0

Ajax は、GET ではなく POST である可能性が最も高いです。またはに置き換え$_GET['ReturnUrl'];てみてください$_POST['ReturnUrl'];$_REQUEST['ReturnUrl'];

于 2012-07-04T01:07:31.613 に答える