发新话题
打印

thinkphp ajax的支持

thinkphp ajax的支持

系统内置了 Ajax 的提交和数据返回支持,并且内置了一个 ThinkAjax 的 AJAX 操作的 JS类库。
使用 ThinkAjax 类库进行 Ajax 提交非常方便, 支持 HTML事件绑定、 表单提交、 定时执行等 Ajax操作。
支持 JSON 和 XML方式返回客户端,当然,您也一样可以使用和扩展任何其他 Ajax 类库来进行 Ajax 操
作,包括 Jquery和 Prototype 等比较典型的 JS 类库包。
这里我们只介绍下 ThinkAjax 类库的使用
要使用 ThinkAjax类库,需要加载相关的 JS 类库:
<script language='JavaScript' src='/Js/prototype.js'></script>
<script language='JavaScript' src='/Js/mootools.js'></script>
<script language='JavaScript' src='/Js/ThinkAjax.js'></script>

// 发送 Ajax 请求
send(提交 URL,提交参数,返回响应方法,结果显示 DIV对象或者 ID,提示信息,更新显示效果)
// 发送表单 Ajax 操作
sendForm(表单对象或者 ID,提交 URL,返回响应方法,结果显示 DIV 对象或者 ID,提示信息,更新显示效果)
// 绑定 Ajax 操作到 HTML元素和事件
bind(源HTML元素或者ID,绑定事件,提交URL,提交参数,返回响应方法,结果显示DIV对象或者ID,提示信
息,更新效果)
// 页面加载时候进行 Ajax操作
load(提交 URL,提交参数,返回响应方法,结果显示 DIV对象或者 ID,提示信息,更新效果)
// 定时执行 Ajax 操作
repeat(提交 URL,提交参数,执行间隔,返回响应方法,结果显示 DIV 对象或者 ID,提示信息,更新效果)
// 延时执行 Ajax 操作
time(提交 URL,提交参数,延时时间,返回响应方法,结果显示 DIV 对象或者 ID,提示信息,更新效果)
示例:
发送 Ajax请求
ThinkAjax.send('__URL__/insert','ajax=1&title=ThinkPHP',addComplete);
提交表单 Form1 的数据
ThinkAjax.sendForm(‘Form1’,’__URL__/insert’,addComplete)
绑定 HTML元素的 AJAX 操作
ThinkAjax.bind(‘CategoryId’,’mouseover’,’__URL__/over’);
在发送请求到后台之后,AJAX 数据返回我们使用 Action 类的 AjaxReturn 方法,该方法支持三个参数,
包括
AjaxReturn($data,$info,$status,$type)
其中$data 表示返回客户端的数据,如果是 JSON 方式返回数据,会自动进行 JSON 编码后返回,如果
是 XML 方式,就会自动进行XML 编码后返回。
$info 是返回的提示信息
$status 是返回的状态信息
$type 指定返回的数据类型,默认是 JSON 格式数据
例如:
$this->ajaxReturn($data,’更新成功’,1);
在后台使用 AjaxReturn 方法返回数据到客户端后,我们可以定义返回响应方法来处理返回的数据,例
如:
ThinkAjax.send('__URL__/insert','ajax=1&title=ThinkPHP',addComplete);
定义 addComplete 数据返回的响应方法
function addComplete(data,status){
if (status==1) Alert(data.title);
}
响应处理方法有三个参数,分别是返回数据 data、返回状态 status 和返回信息 info,可以根据需要来
处理。

TOP

发新话题