利用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的QRcode类与大家分享
Nov 13 PHP
Linux下PHP连接Oracle数据库
Aug 20 PHP
通过php添加xml文档内容的方法
Jan 23 PHP
php 使用array函数实现分页
Feb 13 PHP
ThinkPHP路由详解
Jul 27 PHP
使用Thinkphp框架开发移动端接口
Aug 05 PHP
php验证码实现代码(3种)
Sep 07 PHP
php用户注册信息验证正则表达式
Nov 12 PHP
Yii操作数据库实现动态获取表名的方法
Mar 29 PHP
PHP去除空数组且数组键名重置的讲解
Feb 28 PHP
tp5.1 框架查询表达式用法详解
May 25 PHP
PHP实现计算器小功能
Aug 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数组去重实例及分析
2013/11/26 PHP
php生成随机字符串可指定纯数字、纯字母或者混合的
2014/04/18 PHP
thinkPHP3.2简单实现文件上传的方法
2016/05/16 PHP
PHP上传图片时判断上传文件是否为可用图片的方法
2016/10/20 PHP
PHP DB 数据库连接类定义与用法示例
2019/03/11 PHP
JSQL 批量图片切换的实现代码
2010/05/05 Javascript
jQuery jcrop插件截图使用方法
2013/11/20 Javascript
Script标签与访问HTML页面详解
2014/01/10 Javascript
jQuery实现折线图的方法
2015/02/28 Javascript
jQuery动态加载css文件实现方法
2016/06/15 Javascript
JQuery PHP图片在线裁剪实例
2020/07/27 Javascript
jQuery的ready方法实现原理分析
2016/10/26 Javascript
easyui combogrid实现本地模糊搜索过滤多列
2017/05/13 Javascript
React Native 通告消息竖向轮播组件的封装
2020/08/25 Javascript
vue实现文件上传功能
2018/08/13 Javascript
详解如何使用koa实现socket.io官网的例子
2018/11/04 Javascript
浅谈在不使用ssr的情况下解决Vue单页面SEO问题(2)
2018/11/08 Javascript
JS实现简单移动端鼠标拖拽
2020/07/23 Javascript
[01:46]2020完美世界全国高校联赛秋季赛报名开启
2020/10/15 DOTA
python解析json实例方法
2013/11/19 Python
分享Python开发中要注意的十个小贴士
2016/08/30 Python
利用 Monkey 命令操作屏幕快速滑动
2016/12/07 Python
详解如何用OpenCV + Python 实现人脸识别
2017/10/20 Python
python使用正则表达式替换匹配成功的组
2017/11/17 Python
详解Python列表赋值复制深拷贝及5种浅拷贝
2019/05/15 Python
python rsync服务器之间文件夹同步脚本
2019/08/29 Python
解决json中ensure_ascii=False的问题
2020/04/03 Python
关于tf.matmul() 和tf.multiply() 的区别说明
2020/06/18 Python
纯css3实现的竖形无限级导航
2014/12/10 HTML / CSS
写一个函数,求一个字符串的长度。在main函数中输入字符串,并输出其长度
2015/11/18 面试题
什么是WEB控件?使用WEB控件有哪些优势?
2012/01/21 面试题
体育专业个人的求职信范文
2013/09/21 职场文书
企业演讲稿范文
2013/12/28 职场文书
银行竞聘演讲稿
2014/05/16 职场文书
2015年检验科工作总结
2015/04/27 职场文书
OpenCV-Python实现轮廓拟合
2021/06/08 Python