利用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 相关文章推荐
UTF8编码内的繁简转换的PHP类
Jul 09 PHP
PHP 写文本日志实现代码
May 18 PHP
php中用foreach来操作数组的代码
Jul 17 PHP
PHP中file_exists与is_file,is_dir的区别介绍
Sep 12 PHP
安装apache2.2.22配置php5.4(具体操作步骤)
Jun 26 PHP
PHP strstr 函数判断字符串是否否存在的实例代码
Sep 28 PHP
PHP同时连接多个mysql数据库示例代码
Mar 17 PHP
linux下使用crontab实现定时PHP计划任务失败的原因分析
Jul 05 PHP
谈谈 PHP7新增功能
Dec 16 PHP
PHP基于Redis消息队列实现发布微博的方法
May 03 PHP
PHP实现模拟http请求的方法分析
Dec 20 PHP
PHP的mysqli_thread_id()函数讲解
Jan 24 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
thinkphp微信开发(消息加密解密)
2015/12/02 PHP
php实现获取近几日、月时间示例
2019/07/06 PHP
JavaScript高级程序设计(第3版)学习笔记13 ECMAScript5新特性
2012/10/11 Javascript
Javascript无参数和有参数类继承问题解决方法
2015/03/02 Javascript
Javascript Function.prototype.bind详细分析
2016/12/29 Javascript
JavaScript函数表达式详解及实例
2017/05/05 Javascript
解决vue页面刷新或者后退参数丢失的问题
2018/03/13 Javascript
vue将单页面改造成多页面应用的方法
2018/11/25 Javascript
Vue实现移动端左右滑动效果的方法
2018/11/27 Javascript
JS实现的碰撞检测与周期移动完整示例
2019/09/02 Javascript
layui之table checkbox初始化时选中对应选项的方法
2019/09/02 Javascript
vue实现弹幕功能
2019/10/25 Javascript
jQuery实现评论模块
2020/08/19 jQuery
[01:21:36]CHAOS vs Alliacne 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
python 中的列表解析和生成表达式
2011/03/10 Python
用python删除java文件头上版权信息的方法
2014/07/31 Python
Python 字符串转换为整形和浮点类型的方法
2018/07/17 Python
pandas使用apply多列生成一列数据的实例
2018/11/28 Python
Pycharm之快速定位到某行快捷键的方法
2019/01/20 Python
python仿抖音表白神器
2019/04/08 Python
python框架flask入门之环境搭建及开启调试
2020/06/07 Python
keras在构建LSTM模型时对变长序列的处理操作
2020/06/29 Python
html5 Canvas画图教程(11)—使用lineTo/arc/bezierCurveTo画椭圆形
2013/01/09 HTML / CSS
手机端用rem+scss做适配的详解
2017/11/15 HTML / CSS
德国孕妇装和婴童服装网上商店:bellybutton
2018/04/12 全球购物
无谷物狗粮:Pooch & Mutt
2018/05/23 全球购物
Kaufmann Mercantile官网:家居装饰、配件、户外及更多
2018/09/28 全球购物
采购主管岗位职责
2014/02/01 职场文书
解除同居协议书
2015/01/29 职场文书
2015年社区矫正工作总结
2015/04/21 职场文书
工程竣工验收申请报告
2015/05/15 职场文书
郭明义电影观后感
2015/06/08 职场文书
2015国庆66周年宣传语
2015/07/14 职场文书
《亲亲我的妈妈》观后感(3篇)
2019/09/26 职场文书
解决goland 导入项目后import里的包报红问题
2021/05/06 Golang
详解Vue slot插槽
2021/11/20 Vue.js