ThinkAjax的简单使用
根据教程结合自己看法写的。红色为重点部分。
1、在控制器中
PHP代码
- $this->ajaxReturn('1','2',0);
//说一下ajaxReturn的3个参数
第一个是返回的数据变量,第二个是返回的信息,第三个是数据返回的状态。
例如我们判断一个用户登录
- if ($username=='' || $userpass==''){
- $this->ajaxReturn('','用户名或密码不能为空!',0);
- }
- if ($verify!=$_SESSION['verify']){
- $this->ajaxReturn('','验证码错误!',0);
- }
- if ($result->value=="未审核"){
- $this->ajaxReturn('','登录错误,您登录的用户未被审核!',0);
- }
- if ($username==$result->username && $userpass==$result->userpass){
- Session::set('login','YES');
- Session::set('value',$result->value);
- Session::set('name',$result->fullname);
- $this->ajaxReturn('','登录成功!',1);
- }else{
- $this->ajaxReturn('','登录错误!',0);
- }
复制代码如果登录不成功,后边的参数就写为0,0为提示作用 如果登录成功,后边的参数就写为1,1为执行complete方法 有什么作用?
请继续看。
以下是HTML页面
- ThinkAjax.sendForm('form1','__URL__/update',complete,'result');
第一个参数代表提交名称为form1的表单
第二是参数是提交的地址
第三个参数,如果提交成功,执行的函数名称
第四个参数,就是显示“数据处理中~”这些提示信息的Div的名称。
loginHandle可以这么写:
- function loginHandle(data,status){
- if (status==1)
- {
- $('result').innerHTML = '<span style="color:blue"><IMG SRC="../Public/images/ok.gif" WIDTH="20" HEIGHT="20" BORDER="0" ALT="" align="absmiddle" > 登录成功!3 秒后跳转~</span>';
- $('form1').reset();
- window.location = '__APP__/Admin/';
- }
其中的data参数,例如我们想返回刚才提交过的用户名
假如我们的用户名是存在$username里的,那么
- $this->ajaxReturn($username,'登录成功!',1);
那么,data就是变量$username的值。
sataus就是$this->ajaxReturn($username,'登录成功!',1);最后的这个参数"1"或者"0"
可以看上边的PHP代码,当身份确认之后,才返回1,JS代码是如果status=1,那么就执行登录成功的操作,然后跳转。
如果status不为1,那么当然就不执行if下的操作了。
当然,别忘了在用TAJAX的时候写上
- <html:import type="js" file="Js.prototype" />
- <html:import type="js" file="Js.Base" />
- <html:import type="js"#">mootools" />
- <html:import type="js" file="Js.Ajax.ThinkAjax" />