最近
论坛有问起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操作