2 回答
TA贡献1876条经验 获得超5个赞
*更新下面提到的@Patrick Q 似乎可以回显数据。您能否尝试修剪在 javascript/jquery 中收到的数据以检查意外的空格
data.trim()
如果您想添加更多变量,您可以执行以下解决方案。(或者如果你喜欢的话)
您不应该回显 ajax 的结果。相反,您应该将其作为 json 返回
PHP文件:
$ajax_result = array():
$ajax_result['success'] = false;
$ajax_result['message'] = 'Incorrect login data';
if(something)
{
$ajax_result['success'] = 'login_success';
$ajax_result['message'] = 'You were logged in. You will be redirected now.';
}
header('Content-type:application/json;charset=utf-8');
echo json_encode($ajax_result);
这会将结果作为数组返回到前端,您可以通过选择带有 data.success 或 data.message 等的变量来对其进行操作。
查询/Javascript:
$.ajax({
url:"sql/login_process.php",
method:"POST",
data:$('#login_form').serialize(),
beforeSend:function(){
$('#login_response').html('<span class="text-info"><i class="fas fa-spinner"></i> Loading response...</span>');
},
success:function(data){
$('form').trigger("reset");
$('#login_response').fadeIn().html(data.message);
setTimeout(function(){
$('#login_response').fadeOut("slow");
}, 7000);
if(data.success == "login_success") location.href = "http://www.example.com/myprofile.php";
}
});
这是最基本的用法。您可以修改它以保护只能从 ajax 查询等访问。
TA贡献1836条经验 获得超3个赞
老实说,我喜欢这里的 Patrick Q Idea,这是我到目前为止所取得的成就。
阿贾克斯
success:function(data){
if(data != null && data == "success"){ //redirect...
window.location = "http://google.com";
} else { //report failure...
$('form').trigger("reset");
$('#login_response').fadeIn().html(data);
setTimeout(function(){
$('#login_response').fadeOut("slow");
}, 7000);
}
}
PHP
if($num > 0)
{
//if record found
$_SESSION["loggedin"] = TRUE;
$_SESSION['cid']=$num['cid'];
echo "success";
}
- 2 回答
- 0 关注
- 88 浏览
添加回答
举报