我正在处理一个Ajax登录表单。在PHP processing页面上,当登录成功时,有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提交时,我总是得到这样的错误响应:注意:未定义的索引: ReturnUrl in。
发布于 2012-07-04 09:07:32
Ajax很可能是POSTing而不是GETing。尝试将$_GET['ReturnUrl'];替换为$_POST['ReturnUrl'];甚至$_REQUEST['ReturnUrl'];
https://stackoverflow.com/questions/11321196
复制相似问题