利用ThinkPHP内置的ThinkAjax实现异步传输技术的实现方法

 更新时间:2011年12月19日 01:25:05   作者:   我要评论
ThinkPHP的官方文档没有给出ThinkAjax的使用方法,令很多初学者使用起来有些不便,今天学到这里,也碰到了很多问题,花时间深究下,做个学习笔记,希望能对初学者有帮助
准备工作:
① 首先要会使用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中ob_get_length缓冲与获取缓冲长度实例

    php中ob_get_length缓冲与获取缓冲长度实例

    这篇文章主要介绍了php中ob_get_length缓冲与获取缓冲长度的方法,实例分析了缓冲输出的用法与相关技巧,具有一定的参考借鉴价值,需要的朋友可以参考下
    2014-11-11
  • PHP内置过滤器FILTER使用实例

    PHP内置过滤器FILTER使用实例

    这篇文章主要介绍了PHP内置过滤器FILTER使用实例,列举了验证功能和纠错功能的代码例子来讲解如何使用FILTER,需要的朋友可以参考下
    2014-06-06
  • php数组函数array_walk用法示例

    php数组函数array_walk用法示例

    这篇文章主要介绍了php数组函数array_walk用法,分析了array_walk对数组中每个成员调用用户函数的使用技巧,需要的朋友可以参考下
    2016-05-05
  • PHP 用数组降低程序的时间复杂度

    PHP 用数组降低程序的时间复杂度

    时间复杂度是开发人员用来衡量应用程序算法优劣的主要因素。客观地说,算法的优劣除了和时间复杂度有关,还与空间复杂度密切相关。
    2009-12-12
  • php提交post数组参数实例分析

    php提交post数组参数实例分析

    这篇文章主要介绍了php提交post数组参数的用法,结合实例分析了php使用post进行参数提交的相关技巧,需要的朋友可以参考下
    2015-12-12
  • php实现的Cookies操作类实例

    php实现的Cookies操作类实例

    这篇文章主要介绍了php实现的Cookies操作类及其用法实例,包括了常见了保存、读取、更新及清除cookie等操作,在需要进行cookie操作时非常具有实用价值,需要的朋友可以参考下
    2014-09-09
  • php使用include 和require引入文件的区别

    php使用include 和require引入文件的区别

    require()语句的性能与include()相类似,都是包括并运行指定文件。不同之处在于:对include()语句来说,在执行文件时每次都要进行读取和评估;而对于require()来说,文件只处理一次(实际上,文件内容替换require()语句)。
    2017-02-02
  • 浅谈json_encode用法

    浅谈json_encode用法

    这边文章主要向我们简单介绍了下json_encode的使用方法,非常简单实用,这里推荐给大家。
    2015-03-03
  • PHP迭代器和生成器用法实例分析

    PHP迭代器和生成器用法实例分析

    这篇文章主要介绍了PHP迭代器和生成器用法,结合实例形式分析了PHP迭代器和生成器的相关概念、原理、应用技巧与使用注意事项,需要的朋友可以参考下
    2019-09-09
  • windows下配置php5.5开发环境及开发扩展

    windows下配置php5.5开发环境及开发扩展

    这篇文章主要介绍了windows下配置php5.5开发环境及开发扩展,非常的详细,非常全面,是篇非常不错的php基础文章,这里推荐给大家。
    2014-12-12

最新评论