利用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数组函数
Aug 18 PHP
php判断上传的Excel文件中是否有图片及PHPExcel库认识
Jan 11 PHP
强烈声明: 不要使用(include/require)_once
Jun 06 PHP
如何利用PHP执行.SQL文件
Jul 05 PHP
Yii框架关联查询with用法分析
Dec 02 PHP
php网页病毒清除类
Dec 08 PHP
php中smarty区域循环的方法
Jun 11 PHP
PHP关联数组实现根据元素值删除元素的方法
Jun 26 PHP
php递归函数三种实现方法及如何实现数字累加
Aug 07 PHP
Codeigniter中集成smarty和adodb的方法
Mar 04 PHP
PHP实现的猴王算法(猴子选大王)示例
Apr 30 PHP
laravel5.0在linux下解决.htaccess无效和去除index.php的问题
Oct 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初学者们头痛的十四个问题
2007/01/15 PHP
php CI框架插入一条或多条sql记录示例
2014/07/29 PHP
php将图片文件转换成二进制输出的方法
2015/06/10 PHP
PHP开发中解决并发问题的几种实现方法分析
2017/11/13 PHP
PHP封装的XML简单操作类完整实例
2017/11/13 PHP
PHP sdk文档处理常用代码示例解析
2020/12/09 PHP
Mozilla中显示textarea中选择的文字
2006/09/07 Javascript
flash javascript之间的通讯方法小结
2008/12/20 Javascript
JS控制阿拉伯数字转为中文大写示例代码
2013/09/04 Javascript
jQuery中:only-child选择器用法实例
2015/01/03 Javascript
Angularjs实现多个页面共享数据的方式
2016/03/29 Javascript
星期几的不同脚本写法(推荐)
2016/06/01 Javascript
jquery实现的table排序功能示例
2017/03/10 Javascript
浅谈jquery中ajax跨域提交的时候会有2次请求的问题
2017/11/10 jQuery
微信小程序页面跳转功能之从列表的item项跳转到下一个页面的方法
2017/11/27 Javascript
Javascript中JSON数据分组优化实践及JS操作JSON总结
2017/12/22 Javascript
JQuery扩展对象方法操作示例
2018/08/21 jQuery
GOJS+VUE实现流程图效果
2018/12/01 Javascript
小程序云开发如何实现图片上传及发表文字
2019/05/17 Javascript
原生JS实现顶部导航栏显示按钮+搜索框功能
2019/12/25 Javascript
jquery选择器和属性对象的操作实例分析
2020/01/10 jQuery
python 基础教程之Map使用方法
2017/01/17 Python
Python简单实现Base64编码和解码的方法
2017/04/29 Python
Django入门使用示例
2017/12/12 Python
python求最大连续子数组的和
2018/07/07 Python
Python Django 简单分页的实现代码解析
2019/08/21 Python
基于python的BP神经网络及异或实现过程解析
2019/09/30 Python
python3 常见解密加密算法实例分析【base64、MD5等】
2019/12/19 Python
美国传奇滑手Paul Rodriguez创办的街头滑板品牌:Primitive Skateboarding
2019/10/29 全球购物
GOLFINO英国官网:高尔夫服装
2020/04/11 全球购物
优秀广告词大全
2014/03/19 职场文书
2015年教学管理工作总结
2015/05/20 职场文书
2015年路政工作总结
2015/05/22 职场文书
离婚协议书范文2016
2016/03/18 职场文书
本地通过nginx配置反向代理的全过程记录
2021/03/31 Servers
代码解析React中setState同步和异步问题
2021/06/03 Javascript