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实现框架(二)
Oct 09 PHP
php合并数组array_merge函数运算符加号与的区别
Oct 31 PHP
PHP 解决utf-8和gb2312编码转换问题
Mar 18 PHP
PHP学习笔记 (1) 环境配置与代码调试
Jun 19 PHP
PHP版网站缓存加快打开速度的方法分享
Jun 03 PHP
php批量上传的实现代码
Jun 09 PHP
PHP 转义使用详解
Jul 15 PHP
web server使用php生成web页面的三种方法总结
Oct 28 PHP
php多维数组去掉重复值示例分享
Mar 02 PHP
在php中设置session用memcache来存储的方法总结
Jan 14 PHP
php版微信公众平台实现预约提交后发送email的方法
Sep 26 PHP
ecshop添加菜单及权限分配问题
Nov 21 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
php中call_user_func函数使用注意事项
2014/11/21 PHP
PHP中常用的数组操作方法笔记整理
2016/05/16 PHP
PHP中SQL查询语句的id=%d解释(推荐)
2016/12/10 PHP
PHP+Oracle本地开发环境搭建方法详解
2019/04/01 PHP
用JQuery 实现的自定义对话框
2007/03/24 Javascript
JavaScript isPrototypeOf和hasOwnProperty使用区别
2010/03/04 Javascript
jQuery插件实现表格隔行换色且感应鼠标高亮行变色
2013/09/22 Javascript
Bootstrap Chart组件使用教程
2016/04/28 Javascript
手机端 HTML5使用photoswipe.js仿微信朋友圈图片放大效果
2016/08/25 Javascript
js获取json中key所对应的value值的简单方法
2020/06/17 Javascript
jQuery实现的手风琴侧边菜单效果
2017/03/29 jQuery
webpack打包js文件及部署的实现方法
2017/12/18 Javascript
jQuery实现点击自身以外区域关闭弹出层功能完整示例【改进版】
2018/07/31 jQuery
详解VUE项目中安装和使用vant组件
2019/04/28 Javascript
使用apifm-wxapi快速开发小程序过程详解
2019/08/05 Javascript
使用python装饰器验证配置文件示例
2014/02/24 Python
朴素贝叶斯算法的python实现方法
2014/11/18 Python
浅谈Python的Django框架中的缓存控制
2015/07/24 Python
Python数据分析之双色球基于线性回归算法预测下期中奖结果示例
2018/02/08 Python
python实现决策树分类
2018/08/30 Python
在python中,使用scatter绘制散点图的实例
2019/07/03 Python
python程序运行进程、使用时间、剩余时间显示功能的实现代码
2019/07/11 Python
在PyCharm中控制台输出日志分层级分颜色显示的方法
2019/07/11 Python
基于Python批量生成指定尺寸缩略图代码实例
2019/11/20 Python
Selenium 滚动页面至元素可见的方法
2020/03/18 Python
Python面向对象程序设计之私有变量,私有方法原理与用法分析
2020/03/23 Python
matlab中二维插值函数interp2的使用详解
2020/04/22 Python
Pycharm中安装wordcloud等库失败问题及终端通过pip安装的Python库如何添加到Pycharm解释器中(推荐)
2020/05/10 Python
浅谈pymysql查询语句中带有in时传递参数的问题
2020/06/05 Python
Linux内核产生并发的原因
2012/07/13 面试题
国际商务英语专业求职信
2014/07/08 职场文书
住房租房协议书
2014/08/20 职场文书
2014公司党员自我评价范文
2014/09/11 职场文书
Python中threading库实现线程锁与释放锁
2021/05/17 Python
解决pytorch-gpu 安装失败的记录
2021/05/24 Python
xhunter1.sys可以删除嘛? win11提示xhunter1.sys驱动不兼容解决办法
2022/09/23 数码科技