我寫的PHP腳本目前使用重定向:標題將您移至下一頁。PHP重定向:標題,但帶有AJAX
它是一個登錄表單,並且如果成功它需要您註冊succes.php。 如果不成功(事情沒有被正確填寫),它會在會話中存儲錯誤消息並重新載入register-form.php以重試。
最初這是工作絕對正常,因爲所有的頁面在單獨的(如register-success.php是它自己的頁面與完整的HTML)。
但我已經改變它,讓你留在同一頁面,並通過AJAX加載主要的div。這意味着使用重定向不再有效。
此,目前的形式是成功的重定向:通過AJAX
if(register($email_address, $username, $password) === true){
// Sends an email
send_email($email_address);
$succeeded = true;
header("Location: register-success.php?username=$username");
exit;
}
取而代之的是簡單的重定向的,我怎麼能有這只是重裝寄存器succes.php,類似下面,但在PHP?
var xmlhttp;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("login-register-wrapper").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","register-success.php",true);
xmlhttp.send();
爲什麼你需要重定向,你就不能包括在成功登錄您的登錄腳本成功頁面?這樣你只刷新頁面的一部分,你想刷新,這就是爲什麼你首先使用ajax。 – jeroen
@jereon聽起來像我想要實現的,我希望用AJAX刷新來替換重定向,就像我上面提出的那樣。 – Francesca
因此,不用重定向,直接包含文件,其內容將在ajax調用中返回(並顯示在'#login-register-wrapper'中)。 – jeroen