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句法规则详解 入门学习
Nov 09 PHP
PHP 第二节 数据类型之数组
Apr 28 PHP
php使用json_encode对变量json编码
Apr 07 PHP
php中http与https跨域共享session的解决方法
Dec 20 PHP
PHP中使用SimpleXML检查XML文件结构实例
Jan 07 PHP
PHP往XML中添加节点的方法
Mar 12 PHP
Symfony生成二维码的方法
Feb 04 PHP
YII Framework框架教程之日志用法详解
Mar 14 PHP
PHP 接入支付宝即时到账功能
Sep 18 PHP
PHP正则匹配操作简单示例【preg_match_all应用】
Jul 10 PHP
PHP全局使用Laravel辅助函数dd
Dec 26 PHP
PHP如何使用array_unshift()在数组开头插入元素
Sep 01 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下载文件的详解
2013/06/02 PHP
PHP进阶学习之命名空间基本用法分析
2019/06/18 PHP
浅谈laravel 5.6 安装 windows上使用composer的安装过程
2019/10/18 PHP
关于B/S判断浏览器断开的问题讨论
2008/10/29 Javascript
百度Popup.js弹出框进化版 拖拽小框架发布 兼容IE6/7/8,Firefox,Chrome
2010/04/13 Javascript
JS实现文字链接感应鼠标淡入淡出改变颜色的方法
2015/02/26 Javascript
整理AngularJS中的一些常用指令
2015/06/16 Javascript
jQuery实现的背景动态变化导航菜单效果
2015/08/24 Javascript
js实现的Easy Tabs选项卡用法实例
2015/09/06 Javascript
jQuery实现响应鼠标滚动的动感菜单效果
2015/09/21 Javascript
jquery特效 点击展示与隐藏全文
2015/12/09 Javascript
js中获取时间new Date()的全面介绍
2016/06/20 Javascript
AngularJS表达式讲解及示例代码
2016/08/16 Javascript
AngularJS入门教程之过滤器用法示例
2016/11/02 Javascript
jQuery利用sort对DOM元素进行排序操作
2016/11/07 Javascript
浅析javaScript中的浅拷贝和深拷贝
2017/02/15 Javascript
webpack搭建vue 项目的步骤
2017/12/27 Javascript
详解微信小程序canvas圆角矩形的绘制的方法
2018/08/22 Javascript
详解在Vue.js编写更好的v-for循环的6种技巧
2020/04/14 Javascript
js实现三角形粒子运动
2020/09/22 Javascript
在vue项目中promise解决回调地狱和并发请求的问题
2020/11/09 Javascript
PYTHON压平嵌套列表的简单实现
2016/06/08 Python
初探TensorFLow从文件读取图片的四种方式
2018/02/06 Python
Python中的Numpy矩阵操作
2018/08/12 Python
django 外键model的互相读取方法
2018/12/15 Python
基于python3.7利用Motor来异步读写Mongodb提高效率(推荐)
2020/04/29 Python
澳大利亚百货商店中销量第一的商务衬衫品牌:Van Heusen
2018/07/26 全球购物
美国最大的船只买卖在线市场:Boat Trader
2018/08/04 全球购物
物流仓管员岗位职责
2013/12/04 职场文书
会计专业大学生求职信范文
2014/01/28 职场文书
生物科学专业自荐书
2014/06/20 职场文书
免职证明样本
2014/10/23 职场文书
MySql 缓存查询原理与缓存监控和索引监控介绍
2021/07/02 MySQL
python获取对象信息的实例详解
2021/07/07 Python
mysql主从复制的实现步骤
2021/10/24 MySQL
字节飞书面试promise.all实现示例
2022/06/16 Javascript