我在用户登录时有一个登录表单,他必须重定向到participant-screen.php
Ajax脚本
$.ajax({
url: "controller.php",method: "POST",
data: { loginData: $("#loginForm").serialize(),'action': 'login' },
dataType: "text",
success: function(response) {
$("#showMessage").html(response);
if (response == 'success') {// response coming as success but not redirecting
// redirecting script
}
}
});
答案 0 :(得分:4)
使用ajax时,无法使用header()
重定向。相反,当成功处理请求时,您必须重定向ajax的javascript部分。请参阅示例How to redirect to another webpage in JavaScript/jQuery?。
请注意,您必须从PHP脚本(例如json)发回信息,以便您可以在javascript中执行相应的操作。
除此之外:
md5()
进行密码哈希。请参阅示例How can I store my users' passwords safely? 答案 1 :(得分:2)
header()
在jquery中不支持 windows.location.href
window.location.href="your url";
答案 2 :(得分:1)
您可以尝试以下重定向方法
// similar behavior as an HTTP redirect
window.location.replace("http://stackoverflow.com");
// similar behavior as clicking on a link
window.location.href = "http://stackoverflow.com";
答案 3 :(得分:-1)
我得到了我的解决方案
$.ajax({
url: "controller.php",
method: "POST",
data: { loginData : $("#loginForm").serialize(), 'action':'login'},
dataType: "json",
success: function (response) {
if(response["success"]==true)
{
$("#showMessage").html(response['message']);
location = '/learningcurve/participant.php?loginid='+response["id"];
window.open(location);
}else{
$("#showMessage").html(response['message']);
}
},
error: function (request, status, error) {
$("#showMessage").html("OOPS! Something Went Wrong Please Try After Sometime!");
}
});
return false;

我使用了用json替换的数据类型文本