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源代码安装常见错误与解决办法分享
May 28 PHP
探讨php define()函数及defined()函数使用详解
Jun 09 PHP
如何使用“PHP” 彩蛋进行敏感信息获取
Aug 07 PHP
PHP小教程之实现双向链表
Jun 12 PHP
PHP借助phpmailer发送邮件
May 11 PHP
Yii实现显示静态页的方法
Apr 25 PHP
Yii实现简单分页的方法
Apr 29 PHP
PHPExcel实现表格导出功能示例【带有多个工作sheet】
Jun 13 PHP
PHP实现的多维数组去重操作示例
Jul 21 PHP
PHP实现对数字分隔加千分号的方法
Mar 18 PHP
PHP判断是否微信访问的方法示例
Mar 27 PHP
ThinkPHP5.1验证码功能实现的示例代码
Jun 08 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设计模式之装饰者模式
2012/02/29 PHP
完美解决PHP中的Cannot modify header information 问题
2013/08/12 PHP
PHP面向对象教程之自定义类
2014/06/10 PHP
搭建基于Docker的PHP开发环境的详细教程
2015/07/01 PHP
PHP生成树的方法
2015/07/28 PHP
PHP二维数组排序简单实现方法
2016/02/14 PHP
PHPMailer发送邮件
2016/12/28 PHP
JavaScript 选中文字并响应获取的实现代码
2011/08/28 Javascript
Javascript继承(上)——对象构建介绍
2012/11/08 Javascript
浅析LigerUi开发中谨慎载入common.css文件
2013/07/09 Javascript
JS实现仿google、百度搜索框输入信息智能提示的实现方法
2015/04/20 Javascript
简介JavaScript中Math.cos()余弦方法的使用
2015/06/15 Javascript
JS实现支持Ajax验证的表单插件
2016/03/24 Javascript
微信小程序 chooseImage选择图片或者拍照
2017/04/07 Javascript
Vue学习笔记进阶篇之函数化组件解析
2017/07/21 Javascript
form表单数据封装成json格式并提交给服务器的实现方法
2017/12/14 Javascript
详解node child_process模块学习笔记
2018/01/24 Javascript
vue动画打包后失效问题的解决方法
2018/09/18 Javascript
Element中的Cascader(级联列表)动态加载省\市\区数据的方法
2019/03/27 Javascript
浅析Python3爬虫登录模拟
2018/02/07 Python
关于Django ForeignKey 反向查询中filter和_set的效率对比详解
2018/12/15 Python
python 通过SSHTunnelForwarder隧道连接redis的方法
2019/02/19 Python
Python内置数据类型list各方法的性能测试过程解析
2020/01/07 Python
Pytorch基本变量类型FloatTensor与Variable用法
2020/01/08 Python
如何在scrapy中集成selenium爬取网页的方法
2020/11/18 Python
New Balance俄罗斯官方网上商店:购买运动鞋
2020/03/02 全球购物
PHP数据运算类型都有哪些
2013/11/05 面试题
大专计算机个人求职的自我评价
2013/10/21 职场文书
高中军训的心得体会
2014/09/01 职场文书
2014年庆祝国庆65周年演讲稿
2014/09/21 职场文书
初中生散播谣言检讨书
2014/11/17 职场文书
紧急迫降观后感
2015/06/15 职场文书
多人股份制合作协议书
2016/03/19 职场文书
Python图片检索之以图搜图
2021/05/31 Python
一文搞懂MySQL索引页结构
2022/02/28 MySQL
vue的项目如何打包上线
2022/04/13 Vue.js