下面是jquery代码
$.ajax({
type: "POST",
url: "/thinkphp/blog/User/Login/login",
dataType: "json",
data: {"user":admin_name,"pwd":admin_pass,"authcode":authcode},
beforeSend: function(){
$('<div id="msg" />').addClass("loading").html("{:L('login_')}").css("color","#FF0000").appendTo('.login_btn');
},
success: function(json){
if(json.success==1){
$("#msg").remove();
$('<div id="div-y" />').addClass("notice_y").html(json.msg).appendTo('.div_c').fadeOut(3000);
location.href="{:U('Index/index')}";
}else{
$("#msg").remove();
$('<div id="div-b" />').addClass("notice").html(json.msg).css("color","#FF0000").appendTo('.div_c').fadeOut(3000,function(){
return false;
});
//location.href="{:U('Login/index')}";
//return false;
}
}
});
下面是空php代码
//登陆验证
public function login(){
if(!IS_POST){
$array['msg']='页面不存在';
$array['success']=0;
$this->ajaxReturn($array);
}
$user = I('admin_name','','htmlspecialchars','trim');
$pass = I('pwd','');
$verify = I('authcode','','htmlspecialchars','trim');
//检测验证码
if(!check_verify($verify)){
$array['msg']=L('login_vcode_error');
$array['success']=0;
$this->ajaxReturn($array);
}
$admin = M('admin')->where(array('username'=>$user))->find();
//dump($admin);
//判断密码是否正确
if(!$admin || ($admin['password']) != md5($pass)){
$array['msg']=L('login_fail');
$array['success']=0;
$this->ajaxReturn($array);
}
//判断是否被锁定
elseif($user['IsLock']==1){
$array['msg']=L('login_IsLock');
$array['success']=0;
$this->ajaxReturn($array);
}
}
在点击登录的时候验证是可以验证,但是用户名密码这块一直提示“正在登录....”
------解决思路----------------------
1、你是怎么知道数据没有传过去的?
2、目标 url 写的对吗?
/thinkphp/blog/User/Login/login ???
------解决思路----------------------
验证码是可以验证,到验证密码的时候总是提示登录失败
$user = I('admin_name','','htmlspecialchars','trim');
$pass = I('pwd','');
$verify = I('authcode','','htmlspecialchars','trim');
先把success回调函数去掉,上面三个变量变量能不能在控制器打印出来??如果不能,去检查js部分的代码,如果能,检查login的代码。。。你说验证码可以验证,验证密码出错,是不是密码获取出了问题??
------解决思路----------------------
通过浏览器的debug查看请求的url地址是否正确。