利用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入门小知识
Mar 24 PHP
快速开发一个PHP扩展图文教程
Dec 12 PHP
PHP 开源AJAX框架14种
Aug 24 PHP
PHP中extract()函数的定义和用法
Aug 17 PHP
探讨PHP中OO之静态关键字以及类常量的详解
Jun 07 PHP
PHP-Fcgi下PHP的执行时间设置方法
Aug 02 PHP
支持中文的PHP按字符串长度分割成数组代码
May 17 PHP
PHP实现图片批量打包下载功能
Mar 01 PHP
Redis构建分布式锁
Mar 28 PHP
PHP迭代器和生成器用法实例分析
Sep 28 PHP
laravel validate 设置为中文的例子(验证提示为中文)
Sep 29 PHP
详解使用php-cs-fixer格式化代码
Sep 16 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启动时候提示PHP startup的解决方法
2013/05/07 PHP
PHP+jQuery 注册模块的改进(一):验证码存入SESSION
2014/10/14 PHP
php使用substr()和strpos()联合查找字符串中某一特定字符的方法
2015/05/12 PHP
ThinkPHP开发框架函数详解:C方法
2015/08/14 PHP
几行代码轻松搞定jquery实现flash8类似的连接效果
2007/05/03 Javascript
javascript cookie操作类的实现代码小结附使用方法
2010/06/02 Javascript
Struts2的s:radio标签使用及用jquery添加change事件
2013/04/08 Javascript
JavaScript 垃圾回收机制分析
2013/10/10 Javascript
javascript中全局对象的parseInt()方法使用介绍
2013/12/19 Javascript
angularJS 中input示例分享
2015/02/09 Javascript
javascript转换日期字符串为Date日期对象的方法
2015/02/13 Javascript
jquery+CSS3实现淘宝移动网页菜单效果
2015/08/31 Javascript
jquery显示隐藏元素的实现代码
2016/05/19 Javascript
JQuery查找子元素find()和遍历集合each的方法总结
2017/03/07 Javascript
JS中使用gulp实现压缩文件及浏览器热加载功能
2017/07/12 Javascript
vue+element 模态框表格形式的可编辑表单实现
2019/06/07 Javascript
JS中的算法与数据结构之字典(Dictionary)实例详解
2019/08/20 Javascript
在博客园博文中添加自定义右键菜单的方法详解
2020/02/05 Javascript
vant实现购物车功能
2020/06/29 Javascript
Vue清除定时器setInterval优化方案分享
2020/07/21 Javascript
js实现直播点击飘心效果
2020/08/19 Javascript
Python变量作用范围实例分析
2015/07/07 Python
Python使用Tkinter实现滚动抽奖器效果
2020/01/06 Python
python DES加密与解密及hex输出和bs64格式输出的实现代码
2020/04/13 Python
pytorch VGG11识别cifar10数据集(训练+预测单张输入图片操作)
2020/06/24 Python
HTML5 Canvas实现文本对齐的方法总结
2016/03/24 HTML / CSS
HTML5 Canvas如何实现纹理填充与描边(Fill And Stroke)
2013/07/15 HTML / CSS
夏威夷航空官网:Hawaiian Airlines
2016/09/11 全球购物
MATCHESFASHION澳大利亚/亚太地区:英国时尚奢侈品电商
2020/01/14 全球购物
opencv实现图像平移效果
2021/03/24 Python
计算机专业优秀大学生自我总结
2014/01/21 职场文书
学生手册家长评语
2014/02/10 职场文书
公司财务经理岗位职责
2015/04/08 职场文书
忠犬八公的故事观后感
2015/06/05 职场文书
mysql定时自动备份数据库的方法步骤
2021/07/07 MySQL
Redis官方可视化工具RedisInsight安装使用教程
2022/04/19 Redis