下面是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); } }在点击登录的时候验证是可以验证,但是用户名密码这块一直提示“正在登录....”
回复讨论(解决方案)
在thinkPHP中,可以在js中用U方法吗??location.href="{:U('Index/index')}";
我记得tp3.0版本中是不能用的。
在thinkPHP中,可以在js中用U方法吗??location.href="{:U('Index/index')}";
我记得tp3.0版本中是不能用的。
目前看似可以用的,我的TP版本是3.2.3的,没提示什么错误
哪位告诉下呢,这个问题主要是后台接收不到ajax传的值,都是空值。
在thinkPHP中,可以在js中用U方法吗??location.href="{:U('Index/index')}";
我记得tp3.0版本中是不能用的。
目前看似可以用的,我的TP版本是3.2.3的,没提示什么错误
立即学习“PHP免费学习笔记(深入)”;
试一下把{:U('Index/index')}存到页面隐藏表单里
然后location.href=$('#myvalue').value;
在原版的基础上做了一下修正评论没有提交正文的问题特价商品的调用连接问题去掉了一个后门补了SQL注入补了一个过滤漏洞浮动价不能删除的问题不能够搜索问题收藏时放入购物车时出错点放入购物车弹出2个窗口修正主题添加问题商家注册页导航连接问题销售排行不能显示更多问题热点商品不能显示更多问题增加了服务器探测 增加了空间使用查看 增加了在线文件编辑增加了后台管理里两处全选功能更新说明:后台的部分功能已经改过前台
把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); },你好,加上没什么反应,现在主要问题是后台接收不到ajax传过去的值,data: {"user":admin_name,"pwd":admin_pass,"authcode":authcode},这块值在控制器里面读取不到。
1、你是怎么知道数据没有传过去的?
2、目标 url 写的对吗?
/thinkphp/blog/User/Login/login ???
1、你是怎么知道数据没有传过去的?
2、目标 url 写的对吗?
/thinkphp/blog/User/Login/login ???
提交的时候验证码是可以验证,到验证密码的时候总是提示登录失败。
目标url我用的是U函数
数据表中的password字段是md5后的32位的吗?
数据表中的password字段是md5后的32位的吗?
是的,这个我用表单提交测试过了的
1、你是怎么知道数据没有传过去的?
2、目标 url 写的对吗?
/thinkphp/blog/User/Login/login ???
我的项目目录是User不知道跟这个user有关系吗?
验证码是可以验证,到验证密码的时候总是提示登录失败
$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,可能是这两个冲突了。谢谢大家的帮助。










