下面是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; } } });
//登陆验证 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); } }
在thinkPHP中,可以在js中用U方法吗??location.href="{:U('Index/index')}";
我记得tp3.0版本中是不能用的。
在thinkPHP中,可以在js中用U方法吗??location.href="{:U('Index/index')}";
我记得tp3.0版本中是不能用的。
哪位告诉下呢,这个问题主要是后台接收不到ajax传的值,都是空值。
在thinkPHP中,可以在js中用U方法吗??location.href="{:U('Index/index')}";
我记得tp3.0版本中是不能用的。
把error函数也写进去看看
error: function(XMLHttpRequest, textStatus, errorThrown) { alert(XMLHttpRequest.status); alert(XMLHttpRequest.readyState); alert(textStatus); },
把error函数也写进去看看
error: function(XMLHttpRequest, textStatus, errorThrown) { alert(XMLHttpRequest.status); alert(XMLHttpRequest.readyState); alert(textStatus); },
1、你是怎么知道数据没有传过去的?
2、目标 url 写的对吗?
/thinkphp/blog/User/Login/login ???
1、你是怎么知道数据没有传过去的?
2、目标 url 写的对吗?
/thinkphp/blog/User/Login/login ???
数据表中的password字段是md5后的32位的吗?
数据表中的password字段是md5后的32位的吗?
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的代码。。。你说验证码可以验证,验证密码出错,是不是密码获取出了问题??
1、你是怎么知道数据没有传过去的?
2、目标 url 写的对吗?
/thinkphp/blog/User/Login/login ???
通过浏览器的debug查看请求的url地址是否正确。
地址都是对着,我最后又重新把所有的jqeury代码和控制器代码重写了一遍,没有出现问题了。我回忆了下,可能是js代码data:{}里面也得和控制器有出入,项目路径是User,我又在json里面又有一个user,可能是这两个冲突了。谢谢大家的帮助。