Possible Duplicate:
How to manage a redirect request after a jQuery Ajax call
I have a form that is validated client-side with Jquery. Jquery then passes this data to a php script for server-side validation. At the end of the php script, I try to redirect upon success, but no re-direction happens.
Is Jquery interfering with the redirection? How can I get the php script to redirect. Don't want to redirect with jquery, bc I am going to use sessions and want to keep the session data at redirection.
Here is the code:
JQUERY:
$.ajax({ //this is the php file that processes the data and send mail url: "includes/process/processAdminLogin.php", //POST method is used type: "POST", //pass the data data: dataString, //indicate result is text dataType: "text", //Do not cache the page cache: false, //success success: function (data) { $('input').removeAttr('disabled'); //enable input fields again. if(data == "fail"){ $("#statusMessage").html(""); $("#statusMessage").html("<p class='statusBoxWarning'>Username and password do not match!</p>"); $('button').removeAttr('disabled'); document.forms[0].reset(); } } }); PHP
if($correctPass == 1){ ob_start(); session_start(); $_SESSION['usernameIdentity'] = $userName; unset($userName, $userPass); header("Location: ../../adminDashboard.html"); exit; }else{ echo "fail"; } The php script gets to the redirection part and just hangs up. I would really want to keep jquery functionality, along with php redirection. Is there a better method?
Thanks!
FINAL WORKING SOLUTION: Ok, after the input from this post and other similar posts, this is what I have as the working solution. It may not be the most efficient or prettiest solution, but it works, and will have to do for now.
JQUERY
$.ajax({ //this is the php file that processes the data and send mail url: "includes/process/processAdminLogin.php", //GET method is used type: "POST", //pass the data data: dataString, //indicate result is text dataType: "text", //Do not cache the page cache: false, //success success: function (data) { $('input').removeAttr('disabled'); //enable input fields again. if(data == "success"){ $('#statusMessage').html('<form action="http://www.example.com/test/userRegistration/adminDashboard.html" name="userSubscription" method="post" style="display:none;"><input type="text" name="username" value="' + reg_contact_username + '" /><input type="text" name="password" value="' + reg_contact_password + '" /></form>'); document.forms['userSubscription'].submit(); }else{alert("couldn t redirect");} } }); PHP
if($correctPass == 1){ echo "success"; }else{ echo "fail"; } The receiving redirection page will have to verify username and password being given again, so validation will be done 2x...which is really inefficient. If anybody can provide me with a better solution - please! A sample write out would also help out.
Thanks!