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编程中字符串处理的5个技巧小结
Nov 13 PHP
用 Composer构建自己的 PHP 框架之设计 MVC
Oct 30 PHP
php利用反射实现插件机制的方法
Mar 14 PHP
php结合正则批量抓取网页中邮箱地址
May 19 PHP
WordPres对前端页面调试时的两个PHP函数使用小技巧
Dec 22 PHP
优化WordPress中文章与评论的时间显示
Jan 12 PHP
PHP实现文件上传与下载实例与总结
Mar 13 PHP
Yii2中事务的使用实例代码详解
Sep 07 PHP
ThinkPHP实现附件上传功能
Apr 27 PHP
PHP7下协程的实现方法详解
Dec 17 PHP
PHP多线程模拟实现秒杀抢单
Feb 07 PHP
PHP 实现链式操作
Mar 09 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中用PHPMailer来发送邮件的示例(126.com的例子)
2013/06/24 PHP
详解php curl带有csrf-token验证模拟提交方法
2018/04/18 PHP
Laravel 默认邮箱登录改成用户名登录的实现方法
2019/08/12 PHP
使用laravel和ajax实现整个页面无刷新的操作方法
2019/10/03 PHP
JS判断元素为数字的奇异写法分享
2012/08/01 Javascript
JS获得URL超链接的参数值实例代码
2013/06/21 Javascript
可兼容IE的获取及设置cookie的jquery.cookie函数方法
2013/09/02 Javascript
jquery实现table鼠标经过变色代码
2013/09/25 Javascript
JavaScript脚本判断蜘蛛来源的方法
2015/09/22 Javascript
BootstrapValidator超详细教程(推荐)
2016/12/07 Javascript
JS中用try catch对代码运行的性能影响分析
2016/12/26 Javascript
JavaScript表单验证实现代码
2017/05/22 Javascript
详解vue-cli构建项目反向代理配置
2017/09/07 Javascript
JS实现移动端触屏拖拽功能
2018/07/31 Javascript
vue中使用heatmapjs的示例代码(结合百度地图)
2018/09/05 Javascript
JavaScript 中 JSON.parse 函数 和 JSON.stringify 函数
2018/12/05 Javascript
elementui之el-tebs浏览器卡死的问题和使用报错未注册问题
2019/07/06 Javascript
[03:56]显微镜下的DOTA2第十一期——鬼畜的死亡先知播音员
2014/06/23 DOTA
Python获取远程文件大小的函数代码分享
2014/05/13 Python
Python函数参数类型*、**的区别
2015/04/11 Python
使用Python的Twisted框架实现一个简单的服务器
2015/04/16 Python
python读取和保存图片5种方法对比
2018/09/12 Python
如何利用Python模拟GitHub登录详解
2019/07/15 Python
Python values()与itervalues()的用法详解
2019/11/27 Python
Python 实现OpenCV格式和PIL.Image格式互转
2020/01/09 Python
tensorflow实现对张量数据的切片操作方式
2020/01/19 Python
localstorage和sessionstorage使用记录(推荐)
2017/05/23 HTML / CSS
机械设计职业生涯规划书
2013/12/27 职场文书
个人评语大全
2014/05/04 职场文书
行政部经理助理岗位职责
2014/06/15 职场文书
亲属关系公证书样本
2015/01/23 职场文书
铁人观后感
2015/06/16 职场文书
确保减税降费落地生根,用实实在在措施
2019/07/19 职场文书
交通安全宣传标语(100条)
2019/08/22 职场文书
JS不要再到处使用绝对等于运算符了
2021/04/30 Javascript
Python实现socket库网络通信套接字
2021/06/04 Python