利用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之第四天
Oct 09 PHP
Zend Guard一些常见问题解答
Sep 11 PHP
php xml-rpc远程调用
Dec 19 PHP
关于php正则匹配汉字的方法介绍
Apr 25 PHP
php ctype函数中文翻译和示例
Mar 21 PHP
php实现RSA加密类实例
Mar 26 PHP
php数字运算验证码的实现代码
Jul 30 PHP
Docker 如何布置PHP开发环境
Jun 21 PHP
php die()与exit()的区别实例详解
Dec 03 PHP
php 中的closure用法详解
Jun 12 PHP
PHP 记录访客的浏览信息方法
Jan 29 PHP
PHP dirname功能及原理实例解析
Oct 28 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
PHP多线程抓取网页实现代码
2010/07/22 PHP
PHP 第二节 数据类型之字符串类型
2012/04/28 PHP
php实现屏蔽掉黑帽SEO的搜索关键字
2015/04/15 PHP
php实现简单的语法高亮函数实例分析
2015/04/27 PHP
Android AsyncTack 异步任务实例详解
2016/11/02 PHP
SyntaxHighlighter语法高亮插件使用说明
2011/08/14 Javascript
javascript获取URL参数与参数值的示例代码
2013/12/20 Javascript
探究Javascript模板引擎mustache.js使用方法
2016/01/26 Javascript
JS组件系列之Bootstrap table表格组件神器【二、父子表和行列调序】
2016/05/10 Javascript
JS &amp; JQuery 动态添加 select option
2016/06/08 Javascript
js微信分享API
2020/10/11 Javascript
jQuery插件FusionCharts实现的MSBar3D图效果示例【附demo源码】
2017/03/23 jQuery
vue2.0多条件搜索组件使用详解
2020/03/26 Javascript
详解一个基于react+webpack的多页面应用配置
2019/01/21 Javascript
详解微信小程序实现跑马灯效果(附完整代码)
2019/04/29 Javascript
[12:29]《一刀刀一天》之DOTA全时刻19:蝙蝠骑士田伯光再度不举
2014/06/10 DOTA
pandas 两列时间相减换算为秒的方法
2018/04/20 Python
python 美化输出信息的实例
2018/10/15 Python
python dataframe向下向上填充,fillna和ffill的方法
2018/11/28 Python
pycharm中使用anaconda部署python环境的方法步骤
2018/12/19 Python
在Python中通过getattr获取对象引用的方法
2019/01/21 Python
Django model select的多种用法详解
2019/07/16 Python
pygame实现贪吃蛇游戏(下)
2019/10/29 Python
在keras 中获取张量 tensor 的维度大小实例
2020/06/10 Python
Python3+RIDE+RobotFramework自动化测试框架搭建过程详解
2020/09/23 Python
美国领先的家居装饰和礼品商店:Kirkland’s
2017/01/30 全球购物
荷兰演唱会和体育比赛订票网站:viagogo荷兰
2018/04/08 全球购物
教师实习期自我鉴定
2013/10/06 职场文书
小学生期末自我鉴定
2014/01/19 职场文书
毕业生应聘求职信
2014/07/10 职场文书
学习党代会心得体会
2014/09/05 职场文书
领导班子三严三实对照检查材料
2014/09/25 职场文书
2016五一劳动节慰问信
2015/11/30 职场文书
2019年鼓励无偿献血倡议书
2019/09/17 职场文书
Nginx中break与last的区别详析
2021/03/31 Servers
MySQL查看表和清空表的常用命令总结
2021/05/26 MySQL