ThinkPHP中ajax使用实例教程


Posted in PHP onAugust 22, 2014

本文实例讲述了ThinkPHP中使用ajax的方法,提交表单如下图所示:

ThinkPHP中ajax使用实例教程

点击提交,不需要刷新本页,将内容提交到数据库当中,并在本页显示提交的内容。如下图所示:

ThinkPHP中ajax使用实例教程

一、jquery实现方法:

MessageAction.class.php页面代码如下:

<?php
class MessageAction extends Action{
 
 function index(){
  $this->display(); 
 }
 
 function add(){
  //ajaxReturn(数据,'提示信息',状态) 
  $m=M('message');
  if($m->add($_GET)){
   $this->ajaxReturn($_GET,'添加信息成功',1);
  }else{
   $this->ajaxReturn(0,'添加信息失败',0); 
  }
 }
 
}
?>

模板index.html代码如下:

<html>
<head>
<script type="text/javascript" src="__PUBLIC__/js/jquery-1.7.1.min.js"></script>
<script type="text/javascript">
 $(function(){
  $('input:button').click(function(){
   var $title=$('input[name="title"]').val();
   var $message=$('input[name="message"]').val();
   $mess=$('#mess');
   $.getJSON('__URL__/add',{title:$title,message:$message},function(json){
    //alert(json);return false;
    if(json.status==1){
     $mess.slideDown(3000,function(){
      $mess.css('display','block'); 
     }).html('标题为'+json.data.title+'信息为'+json.data.message); 
    }else{
     $mess.slideDown(3000,function(){
      $mess.css('display','block'); 
     }).html('信息添加失败,请检查'); 
    }  
   });
  }) 
 })
</script>
</head>
<body>
<div style="display:none; color:red;" id="mess"></div>
<form action="" method="get">
 标题:<input type="text" name="title" /><br />
 信息:<input type="text" name="message" /><br />
  <input type="button" value="提交" />
</form>
</body>
</html>

二、ThinkPHP实现方法:

MessageAction.class.php页面代码如下:

<?php
class MessageAction extends Action{
 
 function index(){
  $this->display(); 
 }

 function addtwo(){
  $m=M('message');
  if($vo=$m->create()){
   if($m->add()){
    $this->ajaxReturn($vo,'添加成功',1); 
   }else{
    $this->ajaxReturn(0,'添加失败',0); 
   } 
  }else{
   $this->error($m->getError()); 
  }
 }
}
?>

模板index.html代码如下:

<html>
<head>
<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/ThinkAjax.js"></script>
<script type="text/javascript">
 function add(){
  //ThinkAjax.sendForm(表单ID,URL,回调函数,信息显示的地方);
  ThinkAjax.sendForm('frm','__URL__/addtwo',wc); 
 }
 function wc(data,status){
  if(status!=1){
   alert('发送失败');
  }else{
   $('list').innerHTML+='标题'+data.title+',信息'+data.message; 
  } 
 }
</script>

</head>
<body>
<div id="list"></div>
<form action="" method="POST" id="frm">
 标题:<input type="text" name="title" /><br />
 信息:<input type="text" name="message" /><br />
  <input type="button" value="提交" onClick="add()" />
</form>
</body>
</html>

感兴趣的朋友可以测试运行一下本文所示实例,可以加深对Ajax应用的理解。

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

PHP 相关文章推荐
关于PHP中的Class的几点个人看法
Oct 09 PHP
一段php加密解密的代码
Jul 16 PHP
php下使用以下代码连接并测试
Apr 09 PHP
php下删除字符串中HTML标签的函数
Aug 27 PHP
php操作excel文件 基于phpexcel
Jul 02 PHP
php中取得文件的后缀名?
Feb 20 PHP
php中的一些数组排序方法分享
Jul 20 PHP
php比较两个绝对时间的大小
Jan 31 PHP
PHP之密码加密的几种方式
Jul 29 PHP
PHP实现多维数组转字符串和多维数组转一维数组的方法
Aug 08 PHP
php原生导出excel文件的两种方法(推荐)
Nov 19 PHP
php解压缩zip和rar压缩包文件的方法
Jul 10 PHP
ThinkPHP中的常用查询语言汇总
Aug 22 #PHP
ThinkPHP多语言支持与多模板支持概述
Aug 22 #PHP
ThinkPHP中的三大自动简介
Aug 22 #PHP
PHP实现克鲁斯卡尔算法实例解析
Aug 22 #PHP
php中限制ip段访问、禁止ip提交表单的代码分享
Aug 22 #PHP
destoon出现验证码不显示时的紧急处理方法
Aug 22 #PHP
PHP中new static()与new self()的区别异同分析
Aug 22 #PHP
You might like
Zend Studio 无法启动的问题解决方法
2008/12/04 PHP
php程序员应具有的7种能力小结
2014/11/27 PHP
php实现smarty模板无限极分类的方法
2015/12/07 PHP
php单元测试phpunit入门实例教程
2017/11/17 PHP
让任务管理器中的CPU跳舞的js代码
2008/11/01 Javascript
对于this和$(this)的个人理解
2013/09/08 Javascript
js 弹出框只弹一次(二次修改之后的)
2013/11/26 Javascript
详解JavaScript中Date.UTC()方法的使用
2015/06/12 Javascript
JavaScript实现基于十进制的四舍五入实例
2015/07/17 Javascript
jquery实现简单合拢与展开网页面板的方法
2015/09/01 Javascript
JavaScript实现标题栏文字轮播效果代码
2015/10/24 Javascript
JS鼠标拖拽实例分析
2015/11/23 Javascript
JQuery Mobile 弹出式登录框的实现方法
2016/05/28 Javascript
NodeJS与HTML5相结合实现拖拽多个文件上传到服务器的实现方法
2016/07/26 NodeJs
AngularJS通过$http和服务器通信详解
2016/09/21 Javascript
Javascript动画效果(4)
2016/10/11 Javascript
node.js发送邮件email的方法详解
2017/01/06 Javascript
JavaScript中常见的八个陷阱总结
2017/06/28 Javascript
实例详解JavaScript中setTimeout函数的执行顺序
2017/07/12 Javascript
Node.JS中快速扫描端口并发现局域网内的Web服务器地址(80)
2017/09/18 Javascript
JS多个表单数据提交下的serialize()应用实例分析
2019/08/27 Javascript
Javascript如何实现扩充基本类型
2020/08/26 Javascript
[58:37]Serenity vs Fnatic 2018国际邀请赛淘汰赛BO1 8.21
2018/08/22 DOTA
python中map()与zip()操作方法
2016/02/27 Python
python 迭代器和iter()函数详解及实例
2017/03/21 Python
pandas DataFrame实现几列数据合并成为新的一列方法
2018/06/08 Python
python实现多人聊天室
2020/03/31 Python
如何利用Boost.Python实现Python C/C++混合编程详解
2018/11/08 Python
解决Pycharm界面的子窗口不见了的问题
2019/01/17 Python
基于Python的Post请求数据爬取的方法详解
2019/06/14 Python
tensorflow获取预训练模型某层参数并赋值到当前网络指定层方式
2020/01/24 Python
利用python查看数组中的所有元素是否相同
2021/01/08 Python
澳洲CFL商城:CHEMIST FOR LESS(中文)
2021/02/28 全球购物
生产班组长岗位职责
2014/01/05 职场文书
手机被没收的检讨书
2014/10/04 职场文书
离婚协议书范本(通用篇)
2014/11/30 职场文书