我正在创建一个登录表单,我需要将用户重定向到他/她的个人资料页面!我正在使用AJAX请求,因此标题重定向根本不起作用。它只停留在主页上。
那么如何在纯JavaScript PHP ajax调用中将用户重定向到另一个页面?请在纯JavaScript中给出答案。我根本不喜欢使用jQuery!
使用Javascript:
function ajaxCall(){
var xhttp;
if(window.XMLHttpRequest){
xhttp = new XMLHttpRequest();
}
xhttp.onreadystatechange = function(){
if(this.readyState === 4 && this.status === 200){
document.getElementById('error').innerHTML = this.responseText;
}
};
var parameters = 'email='+document.getElementById('email')+'&password='+document.getElementById('password');
xhttp.open('POST', 'login.php', true);
xhttp.setRequestHeader('Content-type', 'application/x-www/form/urlencoded');
xhttp.send(parameters);
}
的login.php(PHP)
<?php
if(isset($_POST['email']) && isset($_POST['password'])){
$ema = $_POST['email'];
$pass = $_POST['password'];
if(!empty($ema) && !empty($pass)){
if($ema === 'Bill' && $pass === 'Cool'){
header('Location: https://www.google.com');
}
}
}
答案 0 :(得分:2)
拨打ajax电话。
<?php
header('Content-Type: application/json');
echo json_encode(['location'=>'/user/profile/']);
exit;
?>
ajax响应将返回类似
的内容{'location':'/user/profile/'}
在你的ajax成功javascript函数
xhr.onreadystatechange = function () {
if (xhr.status == 200 && xhr.status < 300)
{
var response = JSON.parse(xhr.responseText);
if(response.location){
window.location.href = response.location;
}
}
}
答案 1 :(得分:0)
尝试此法案,如果它有效。
window.location.replace("http://www.google.com");
答案 2 :(得分:0)
我登陆这里寻找Ajax解决方案,不过,MontrealDevOne的答案仍然有用。如果其他人也对ajax方法感到好奇,那么您可以执行以下操作:
$('body').on('submit', '#form_register', function (e) {
var form = $(this);
$.ajax({
type: 'POST',
url: 'form_submissions.php',
data: form.serialize() + "&submit",
dataType:"json",
success: function (data) {
if(data.location){
window.location.href = data.location;
}
},
error: function(data) {
alert("Error!");
}
});
e.preventDefault();
});
只需2美分,希望对您有所帮助:)