利用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 相关文章推荐
织梦模板标记简介
Mar 11 PHP
PHP 最大运行时间 max_execution_time修改方法
Mar 08 PHP
PHP中break及continue两个流程控制指令区别分析
Apr 18 PHP
php学习笔记 数组的常用函数
Jun 13 PHP
php 文章调用类代码
Aug 11 PHP
php 的加密函数 md5,crypt,base64_encode 等使用介绍
Apr 09 PHP
简单谈谈php中的unicode和utf8编码
Jun 10 PHP
ThinkPHP控制器详解
Jul 27 PHP
Laravel 5使用Laravel Excel实现Excel/CSV文件导入导出的功能详解
Oct 11 PHP
使用vs code编辑调试php配置的方法
Jan 29 PHP
Yii框架参数配置文件params用法实例分析
Sep 11 PHP
php设计模式之工厂模式用法经典实例分析
Sep 20 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利用新浪接口查询ip获取地理位置示例
2014/01/20 PHP
php将图片保存入mysql数据库失败的解决方法
2014/12/27 PHP
Js的MessageBox
2006/12/03 Javascript
Javascript Math对象
2009/08/13 Javascript
使用javascript:将其它类型值转换成布尔类型值的解决方法详解
2013/05/07 Javascript
JavaScript根据数据生成百分比图和柱状图的实例代码
2013/07/14 Javascript
jQuery实现简洁的导航菜单效果
2015/11/23 Javascript
jQuery formValidator表单验证
2016/01/07 Javascript
动态加载js文件简单示例
2016/04/21 Javascript
AngularJS基于ui-route实现深层路由的方法【路由嵌套】
2016/12/14 Javascript
微信小程序 摇一摇抽奖简单实例实现代码
2017/01/09 Javascript
详解在Vue中如何使用axios跨域访问数据
2017/07/07 Javascript
基于Vue2的独立构建与运行时构建的差别(详解)
2017/12/06 Javascript
vue-router 源码之实现一个简单的 vue-router
2018/07/02 Javascript
浅谈ElementUI中switch回调函数change的参数问题
2018/08/24 Javascript
详解一次Vue低版本安卓白屏问题的解决过程
2019/05/30 Javascript
js实现跟随鼠标移动的小球
2019/08/26 Javascript
微信小程序wx.navigateTo方法里的events参数使用详情及场景
2020/01/07 Javascript
实例讲解React 组件生命周期
2020/07/08 Javascript
[50:28]LGD女子学院第三期 DOTA2复仇之魂教学
2013/12/24 DOTA
python+pyqt5实现图片批量缩放工具
2019/03/18 Python
python PyQt5/Pyside2 按钮右击菜单实例代码
2019/08/17 Python
python二维键值数组生成转json的例子
2019/12/06 Python
python读取ini配置的类封装代码实例
2020/01/08 Python
Python Tornado实现WEB服务器Socket服务器共存并实现交互的方法
2020/05/26 Python
python右对齐的实例方法
2020/07/05 Python
佳能法国商店:Canon法国
2019/02/14 全球购物
销售找工作求职信
2013/12/20 职场文书
《燕子专列》教学反思
2014/02/21 职场文书
党的群众路线教育实践活动心得体会
2014/03/03 职场文书
六一儿童节主持词
2014/03/21 职场文书
2015年暑期社会实践活动总结
2015/03/27 职场文书
如何撰写促销方案?
2019/07/05 职场文书
oracle覆盖导入dmp文件的2种方法
2021/05/21 Oracle
pytorch 使用半精度模型部署的操作
2021/05/24 Python
Hive日期格式转换方法总结
2022/06/25 数据库