我的登入程序看起來像這樣:重定向不能正常工作
- 用戶填寫的電子郵件,並通過領域
- 阿賈克斯將這些字段
reg_system.php
。這裏是源代碼 文件
。
if (isset($_POST['formID']) && !empty($_POST['formID'])) {
$registration = new registration($db);
$forms = array('signup_form', 'signin_form', 'tcr_form');
if (in_array($_POST['formID'], $forms)) {
$redirect = "";
switch ($_POST['formID']) {
case 'signin_form':
if ($registration->signin())
$redirect ='me';
break;
case 'tcr_form':
case 'signup_form':
$registration->signup();
break;
}
}
if (!empty($redirect))
header("Location:".wsurl."?page=".$redirect);
}
注:wsurl前聲明,並且是正確的值。
- 如果
$registration->signin()
返回true,則必須重定向到domain.com/?page=me
在調試過程中,我看到一切順利,並$註冊 - >登入()函數後處理螢火蟲之後返回true.But XHR顯示該屏幕
然後重定向 後
頁停留,因爲它是:同樣的登錄頁面上。腳本不重定向到任何地方..
我不知道是什麼原因,因爲整個檢查過程中調試近10倍的時間。 PHP在header()之前不輸出任何內容。
爲什麼要重定向ajax請求?如果你想重定向sumbission後的用戶,你不應該使用AJAX,但一個簡單的形式來替代,或者,重定向用戶使用JavaScript,像這樣的'location.href =「...」'成功的Ajax請求後。 – 2012-02-08 00:31:51
但是,當您手動輸入網址時是否會加載? – Alex 2012-02-08 00:32:26
@ w0rldart啊.. – 2012-02-08 00:34:01