发新话题
打印

ThinkAjax类库的使用

ThinkAjax类库的使用

最近论坛有问起SmartAjax类库的使用,其实SmartAjax类库已经被ThinkAjax类库取代了,所以说两者的用法是类似的,这里举个比较简单的例子。
页面输入用户名,然后通过Ajax方式发送到后台,并且在页面动态弹出Hello提示。
模版文件主要内容如下:
  • <html:import type="js" file="Js.prototype" />
  • <html:import type="js" file="Js.Ajax.ThinkAjax" />
  • function sendHello(){
  • ThinkAjax.send('__URL__/hello/','ajax=1&name='+document.getElementById("name").value,sayHello);
  • }
  • function sayHello(data,status){
  •   alert('Hello,'+data);
  •   // 这里可以根据返回的status的值来进行判断和处理
  • }
  • <INPUT TYPE="text" id="name" NAME="name">
  • <INPUT TYPE="button" value="Hello" onclick="sendHello()">



Action中添加操作方法如下
  • hello(){
  • $name = $_REQUEST['name'];
  • $this->ajaxReturn($name);
  • // 可以返回提示信息和状态信息
  • // $this->ajaxReturn($name,$info,$status);
  • }


如果仅仅是需要返回提示信息的话,可以不用ajaxReturn方法,直接使用success或者error方法就可以了(当然,还需要采用Ajax方式)
除了send方法外,ThinkAjax类还提供了其他的方法,包括:
  • sendForm //发送表单Ajax操作,暂时不支持附件上传
  • bind //绑定Ajax到HTML元素和事件
  • load //页面加载的时候执行
  • time //延时执行ajax操作
  • repeat //定制执行Ajax操作
神迹兄~~好久不见鸟~~~

TOP

发新话题