利用ThinkPHP内置的ThinkAjax实现异步传输技术的实现方法


Posted in PHP onDecember 19, 2011

准备工作:
① 首先要会使用ThinkPHP这个框架
② 最好有些ajax的基础(可以去看下小飞的另外一篇博文:Ajax实时验证"用户名/邮箱等"是否已经存在)
③ 4个js文档(点此免积分下载)

先贴上源代码:

<script type="text/javascript" src="__PUBLIC__/js/base.js"></script> 
<script type="text/javascript" src="__PUBLIC__/js/prototype.js"></script> 
<script type="text/javascript" src="__PUBLIC__/js/mootools.js"></script> 
<script type="text/javascript" src="__PUBLIC__/js/Ajax/ThinkAjax.js"></script> 
<script type="text/javascript"> 
function checktitle() 
{ 
ThinkAjax.send('__URL__/checktitle','ajax=1&title='+$('title').value,'','checkbox'); 
} 
</script> 
<form action="__URL__/insert" method="post" id="myform"> 
<table> 
<tbody> 
<tr> 
<td width="45" class="tRight">标题:</td> 
<td> 
<input type="text" id="title" name="title"> 
<input type="button" value="检查" onClick="checktitle();"> 
</td> 
<td> 
<span id="checkbox"></span> 
</td> 
</tr> 
</tbody> 
</table> 
</form>

代码解释:
为“检查”按钮添加一个onclick事件,当按钮被点击时,调用checktitle()函数
在checktitle函数中,我们只用到了ThinkAjax对象中的成员方法send

send:function(url,pars,response,target,tips,effect){……}
可以看出ThinkAjax.send方法共有6个参数:
参数url:表示要将客户端浏览器传输过来的数据提交到服务器上的哪个方法进行处理,我这里提交给“当前模块下的checktitle方法”处理
参数pars:相当于ajax中的send方法中的参数string,表示要提交过去的数据,该参数只用于post方式传值
参数response:自定义的回调函数,如果定义了回调函数,则服务器处理完提交过去的数据之后,将会把处理后的数据交给回调函数进行处理。该回调函数有两个参数:①data②status 参数data:将服务器端处理后的数据赋给data 参数status:表示处理后的状态信息,1表示成功 0 表示失败
参数target:表示将处理后的数据在哪个地方进行显示(或输出),比如:我将此参数赋为:checkbox,表示处理后的数据会在id=”checkbox”的标签进行信息输出
当前模块下的checktitle方法的源代码:

<?php 
class IndexAction extends Action 
{ 
// 首页 
public function index(){ 
$this->display(); 
} 
// 检查标题是否可用 
public function checkTitle() 
{ 
if(!empty($_POST['title'])) 
{ 
$Form = D("Form"); 
if($Form->getByTitle($_POST['title'])) 
{ 
$this->error('标题已经存在'); 
} 
else 
{ 
$this->success('标题可以使用!'); 
} 
} 
else 
{ 
$this->error('标题不能为空...'); 
} 
} 
} 
?>

文章作者:WEB开发_小飞
PHP 相关文章推荐
PHP集成FCK的函数代码
Sep 27 PHP
由php的call_user_func传reference引发的思考
Jul 23 PHP
PHP MemCached 高级缓存应用代码
Aug 05 PHP
ThinkPHP模板范围判断输出In标签与Range标签用法详解
Jun 30 PHP
在Win7 中为php扩展配置Xcache
Oct 08 PHP
PHP中构造函数和析构函数解析
Oct 10 PHP
php查看网页源代码的方法
Mar 13 PHP
使用 PHPStorm 开发 Laravel
Mar 24 PHP
Yii控制器中filter过滤器用法分析
Jul 15 PHP
PHP中overload与override的区别
Feb 13 PHP
php多文件打包下载的实例代码
Jul 12 PHP
PHP大文件分块上传功能实例详解
Jul 22 PHP
如何使用Linux的Crontab定时执行PHP脚本的方法
Dec 19 #PHP
PHP定时执行计划任务的多种方法小结
Dec 19 #PHP
在WINDOWS中设置计划任务执行PHP文件的方法
Dec 19 #PHP
php安全配置 如何配置使其更安全
Dec 16 #PHP
PHP substr 截取字符串出现乱码问题解决方法[utf8与gb2312]
Dec 16 #PHP
php中使用DOM类读取XML文件的实现代码
Dec 14 #PHP
通达OA公共代码 php常用检测函数
Dec 14 #PHP
You might like
如何设置mysql允许外网访问
2013/06/04 PHP
PHP资源管理框架Assetic简介
2014/06/12 PHP
PHP大文件及断点续传下载实现代码
2020/08/18 PHP
TBCompressor js代码压缩
2011/01/05 Javascript
Ext.get() 和 Ext.query()组合使用实现最灵活的取元素方式
2011/09/26 Javascript
JS获取页面窗口大小的代码解读
2011/12/01 Javascript
Jquery Validate 正则表达式实用验证代码大全
2013/08/23 Javascript
Javascript中的Array数组对象详谈
2014/03/03 Javascript
三种AngularJS中获取数据源的方式
2016/02/02 Javascript
jQuery 特性操作详解及实例代码
2016/09/29 Javascript
基于angularJS的表单验证指令介绍
2016/10/21 Javascript
jQuery图片轮播实现并封装(一)
2016/12/03 Javascript
jQuery自定义图片上传插件实例代码
2017/04/04 jQuery
详解让sublime text3支持Vue语法高亮显示的示例
2017/09/29 Javascript
node.js中fs文件系统目录操作与文件信息操作
2018/02/24 Javascript
JavaScript中常用的简洁高级技巧总结
2019/03/10 Javascript
pm2启动ssr失败的解决方法
2019/06/29 Javascript
微信小程序new Date()方法失效问题解决方法
2019/07/29 Javascript
Vue实现Header渐隐渐现效果的实例代码
2020/11/05 Javascript
NestJs使用Mongoose对MongoDB操作的方法
2021/02/22 Javascript
python 从远程服务器下载日志文件的程序
2013/02/10 Python
python调用windows api锁定计算机示例
2014/04/17 Python
Python3.x爬虫下载网页图片的实例讲解
2018/05/22 Python
python爬取淘宝商品销量信息
2018/11/16 Python
python 与服务器的共享文件夹交互方法
2018/12/27 Python
PyQt5响应回车事件的方法
2019/06/25 Python
wxPython+Matplotlib绘制折线图表
2019/11/19 Python
pandas factorize实现将字符串特征转化为数字特征
2019/12/19 Python
python实现图片横向和纵向拼接
2020/03/05 Python
详解Python设计模式之策略模式
2020/06/15 Python
Keras 在fit_generator训练方式中加入图像random_crop操作
2020/07/03 Python
CAD制图设计师自荐信
2014/01/29 职场文书
求职信怎么写范文
2014/05/26 职场文书
摄影展策划方案
2014/06/02 职场文书
党员干部反四风对照检查材料思想汇报
2014/09/14 职场文书
「约定的梦幻岛」作画发布诺曼生日新绘
2022/03/21 日漫