利用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下连接mssql2005的代码
Jan 17 PHP
PHP高级对象构建 多个构造函数的使用
Feb 05 PHP
PHP编程函数安全篇
Jan 08 PHP
免费手机号码归属地API查询接口和PHP使用实例分享
Apr 10 PHP
php中隐形字符65279(utf-8的BOM头)问题
Aug 16 PHP
Laravel与CI框架中截取字符串函数
May 08 PHP
thinkPHP统计排行与分页显示功能示例
Dec 02 PHP
thinkphp5.0自定义验证规则使用方法
Nov 16 PHP
利用Homestead快速运行一个Laravel项目的方法详解
Nov 14 PHP
php+redis实现商城秒杀功能
Nov 19 PHP
PHP的mysqli_set_charset()函数讲解
Jan 23 PHP
php连接mysql数据库最简单的实现方法
Sep 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
5款适合PHP使用的HTML编辑器推荐
2015/07/03 PHP
CodeIgniter自定义控制器MY_Controller用法分析
2016/01/20 PHP
PHP错误机制知识汇总
2016/03/24 PHP
thinkphp多表查询两表有重复相同字段的完美解决方法
2016/09/22 PHP
PHP实现的简单对称加密与解密方法实例小结
2017/08/28 PHP
Maps Javascript
2007/01/22 Javascript
input+select(multiple) 实现下拉框输入值
2009/05/21 Javascript
js中的string.format函数代码
2020/08/11 Javascript
JQuery 常用方法和事件详细介绍
2013/04/18 Javascript
JavaScript实现在数组中查找不同顺序排列的字符串
2014/09/26 Javascript
JQuery的ON()方法支持的所有事件罗列
2015/02/28 Javascript
JavaScript实现图片DIV竖向滑动的方法
2015/04/25 Javascript
纯javascript实现分页(两种方法)
2015/08/26 Javascript
在AngularJS中如何使用谷歌地图把当前位置显示出来
2016/01/25 Javascript
JavaScript中Object.prototype.toString方法的原理
2016/02/24 Javascript
BootStrap中按钮点击后被禁用按钮的最佳实现方法
2016/09/23 Javascript
前端JS面试中常见的算法问题总结
2016/12/23 Javascript
AngulaJS路由 ui-router 传参实例
2017/04/28 Javascript
Vue2.0实现调用摄像头进行拍照功能 exif.js实现图片上传功能
2018/04/28 Javascript
Vue 实现展开折叠效果的示例代码
2018/08/27 Javascript
vue侧边栏动态生成下级菜单的方法
2018/09/07 Javascript
Python中type的构造函数参数含义说明
2015/06/21 Python
PyGame贪吃蛇的实现代码示例
2018/11/21 Python
python实现生成字符串大小写字母和数字的各种组合
2019/01/01 Python
荷兰超市:DEEN
2018/03/14 全球购物
蔻驰意大利官网:COACH意大利
2019/01/16 全球购物
Senreve官网:美国旧金山的奢侈手袋品牌
2019/03/21 全球购物
优秀团员自我评价范文
2014/04/23 职场文书
四风问题专项整治工作情况报告
2014/10/28 职场文书
暑假社会实践证明格式
2014/10/28 职场文书
2014年党务公开工作总结
2014/12/09 职场文书
自主招生自荐信范文
2015/03/04 职场文书
2015年学生资助工作总结
2015/05/25 职场文书
文明礼仪主题班会
2015/08/13 职场文书
小学四年级作文之人物作文
2019/11/06 职场文书
Python实现学生管理系统(面向对象版)
2021/06/24 Python