thinkphp+jquery提交怎么一直在显示正在提交.
$.ajax({ type: "POST", url: "/thinkphp/blog/User/Login/login", dataType: "json", data: {"user":admin_name,"pwd":admin_pass,"authcode":authcode}, beforeSend: function(){ $('').addClass("loading").html("{:L('login_')}").css("color","#FF0000").appendTo('.login_btn'); }, success: function(json){ if(json.success==1){ $("#msg").remove(); $('').addClass("notice_y").html(json.msg).appendTo('.div_c').fadeOut(3000); location.href="{:U('Index/index')}"; }else{ $("#msg").remove(); $('').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的,没提示什么错误
试一下把{:U('Index/index')}存到页面隐藏表单里
然后location.href=$('#myvalue').value;
把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,可能是这两个冲突了。谢谢大家的帮助。
推荐阅读
-
thinkphp+jquery提交怎么一直在显示正在提交.
-
php表单提交数据到另一页面,显示空白怎么办
-
关于Iframe实现局部刷新问题:当提交注册表单后,我想把注册成功的信息显示在页面中,现在结果时不能显示在本页面,而是显示在了那个iframe中了,怎么办
-
php-点击按钮后,怎么将form表单中的数据提交到弹窗中显示?
-
php-点击按钮后,怎么将form表单中的数据提交到弹窗中显示?
-
提交表单 按上一页表单清空了不能正确显示怎么处理
-
提交表单 按上一页表单清空了不能正确显示怎么处理
-
提交表单 按上一页表单清空了不能正确显示怎么处理
-
我一个表单,提交修改数据,怎么让get的时候显示页面,POST的时候修改数据?
-
一个提交留言的模板提交后老是显示点击下载保存的页面,该怎么解决