利用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二分法查找数组是否包含某一元素
May 23 PHP
使用PHP生成二维码的两种方法(带logo图像)
Mar 14 PHP
PHP抓取、分析国内视频网站的视频信息工具类
Apr 02 PHP
浅谈ThinkPHP的URL重写
Nov 25 PHP
PHP实现支持SSL连接的SMTP邮件发送类
Mar 05 PHP
PHP语法小结之基础和变量
Nov 22 PHP
理解PHP中的Session及对Session有效期的控制
Jan 08 PHP
PHP的时间戳与具体时间转化的简单实现
Jun 13 PHP
PHP中session跨子域的三种实现方法
Jul 25 PHP
laravel自定义分页效果
Jul 23 PHP
php抽象类和接口知识点整理总结
Aug 02 PHP
阿里云服务器搭建Php+Apache运行环境的详细过程
May 15 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网上调查系统
2006/10/09 PHP
深入php var_dump()函数的详解
2013/06/05 PHP
利用PHP实现短域名互转
2013/07/05 PHP
全新Mac配置PHP开发环境教程
2016/02/03 PHP
PHP中的Trait 特性及作用
2016/04/03 PHP
php实现的统计字数函数定义与使用示例
2017/07/26 PHP
PHP序列化的四种实现方法与横向对比
2018/11/29 PHP
php如何实现数据库的备份和恢复
2020/11/30 PHP
jquery ajax提交表单数据的两种实现方法
2010/04/29 Javascript
通过正则格式化url查询字符串实现代码
2012/12/28 Javascript
jquery链式操作的正确使用方法
2014/01/06 Javascript
ztree获取当前选中节点子节点id集合的方法
2015/02/12 Javascript
js实现百度联盟中一款不错的图片切换效果完整实例
2015/03/04 Javascript
JS+CSS实现的拖动分页效果实例
2015/05/11 Javascript
JavaScript给input的value赋值引发的关于基本类型值和引用类型值问题
2015/12/07 Javascript
jQuery滚动新闻实现代码
2016/06/26 Javascript
js无法获取到html标签的属性的解决方法
2016/07/26 Javascript
Angularjs 双向绑定时字符串的转换成数字类型的问题
2017/06/12 Javascript
nodejs模块学习之connect解析
2017/07/05 NodeJs
SVG动画vivus.js库使用小结(实例代码)
2017/09/14 Javascript
Bootstrap实现模态框效果
2019/09/30 Javascript
小程序点餐界面添加购物车左右摆动动画
2020/09/23 Javascript
Python中特殊函数集锦
2015/07/27 Python
查看django版本的方法分享
2018/05/14 Python
python中字符串内置函数的用法总结
2018/09/13 Python
使用python进行波形及频谱绘制的方法
2019/06/17 Python
python障碍式期权定价公式
2019/07/19 Python
阿迪达斯印度官方商城:adidas India
2017/03/26 全球购物
List、Map、Set三个接口,存取元素时,各有什么特点?
2015/09/27 面试题
奶茶店创业计划书范文
2014/01/17 职场文书
企业标语口号
2014/06/10 职场文书
工厂仓管员岗位职责
2015/04/01 职场文书
温馨祝福晨语:美丽的一天从我的问候开始
2019/11/28 职场文书
用Python的绘图库(matplotlib)绘制小波能量谱
2021/04/17 Python
oracle覆盖导入dmp文件的2种方法
2021/05/21 Oracle
JavaScript 定时器详情
2021/11/11 Javascript