本篇文章主要的介绍了关于ajax用户登录后跳转的情况,下面有详细的代码实例,有需要的朋友赶紧看过来。现在就开始本篇文章的介绍吧
最近在学习TP框架的使用,在做后台管理系统的时候做了个后台登录页面,想实时的提示用户输入信息的返回情况
当然判断同户名密码错误要经过后台验证并且不刷新的情况下显示在页面上,那么首先就想到异步处理(这是门艺术)
TP上的$this_ajaxReturn();方法就可以将信息返回到前段,并用jq判断局部刷新出相应的信息。
但是当我真正的输入正确的用户名密码时却无法跳转到后台管理页面只是返回一条json数据流
原来使用异步在收到后台返回数据的时候,交给js代码处理,返回json流,那么后台的重定向就进入了流里面,而不会刷新出页面,只能通过收到的相应看到页面信息。(想看更多就到PHP中文网AJAX开发手册栏目中学习)
那么我们知道在js里面处理 那么就可以用js的重定向Windows.location.href=’url’;跳转到指定页面
js代码$(function(){
$('button').click(function(){
var user = $('input[name=user]'); var pwd = $('input[name=pwd]'); var verify = $('input[name=verify]'); if(user.val() == ''|| pwd.val() == '')
{
$('[name=user]').focus();
$('#errormsg').html("用户名或密码不能为空"); return false;
} else if(verify.val() == '')
{
$('#errormsg').html("验证码不能为空"); return false;
} else{
$.ajax({
url: handle,
data:{'user':user.val(),'pwd':pwd.val(),'verify':verify.val()},
type: "POST",
dataType:'json',
success:function(data){
if(data.status == '1'){
window.location.href = dr;
} else if (data.status == '2') {
$('#errormsg').html("验证码错误");
}else if (data.status == '0') {
$('#errormsg').html("用户名或密码错误!");
}
},
error : function(data) {
alert("出错:" + data.code);
}
});
}
});
})
后台代码$verify = I('verify','','md5'); if($verify !== $_SESSION['verify'])
{ $this->ajaxReturn(array('status' =>'2')); die();
} $username=I('user','',''); $passward=I('pwd','',''); $date=M('admin',NULL); $date->where(array('username' => $username))->find(); if($date and $date->passward == $passward)
{ $id = $date->id; $login_time = time() ; $login_ip = get_client_ip(); $date = array('id' => $id,'login_ip' => $login_ip,'login_time' => $login_time );
M('admin')->save($date);
session('uid',$date['id']);
session('ip',$date['login_ip']); // $this->ajaxReturn(array('status' =>'1'));
// $this->success('登陆成功',U('Admin/Admin/index'));
} else
{ $this->ajaxReturn(array('status' =>'0')); $this->redirect('Admin/Index/index');
}
}
以上也有接受后台数据判断用户名密码是否正确的流程
本篇文章到这就结束了(想看更多就到PHP中文网AJAX使用手册栏目中学习),有问题的可以在下方留言提问。