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 相关文章推荐
用C/C++扩展你的PHP 为你的php增加功能
Sep 06 PHP
CI框架开发新浪微博登录接口源码完整版
May 28 PHP
PHP封装的一个支持HTML、JS、PHP重定向的多功能跳转函数
Jun 19 PHP
又一个PHP实现的冒泡排序算法分享
Aug 21 PHP
php获取指定日期之间的各个周和月的起止时间
Nov 24 PHP
php使用Cookie控制访问授权的方法
Jan 21 PHP
php使用ZipArchive函数实现文件的压缩与解压缩
Oct 27 PHP
php微信公众平台配置接口开发程序
Sep 22 PHP
PHP实现求连续子数组最大和问题2种解决方法
Dec 26 PHP
对于Laravel 5.5核心架构的深入理解
Feb 22 PHP
Yii2.0框架behaviors方法使用实例分析
Sep 30 PHP
在thinkphp5.0路径中实现去除index.php的方式
Oct 16 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延迟静态绑定示例分享
2014/06/22 PHP
PHP自动载入类文件函数__autoload的使用方法
2019/03/25 PHP
ExtJS 2.0实用简明教程之应用ExtJS
2009/04/29 Javascript
jquery 上下滚动广告
2009/06/17 Javascript
jQuery 1.4 15个你应该知道的新特性(译)
2010/01/24 Javascript
js 中 document.createEvent的用法
2010/08/29 Javascript
jQuery UI Dialog控件中的表单无法正常提交的解决方法
2010/12/19 Javascript
让浏览器非阻塞加载javascript的几种方法小结
2011/04/25 Javascript
javascript创建数组之联合数组的使用方法示例
2013/12/26 Javascript
JS+CSS实现仿触屏手机拨号盘界面及功能模拟完整实例
2015/05/16 Javascript
关于JavaScript中事件绑定的方法总结
2016/10/26 Javascript
Bootstrap表格制作代码
2017/03/17 Javascript
Angularjs 1.3 中的$parse实例代码
2017/09/14 Javascript
Easy UI动态树点击文字实现展开关闭功能
2017/09/30 Javascript
Vue中render方法的使用详解
2018/01/26 Javascript
vue项目关闭eslint校验
2018/03/21 Javascript
clipboard在vue中的使用的方法示例
2018/10/19 Javascript
Vue.js 中 axios 跨域访问错误问题及解决方法
2018/11/21 Javascript
详解vue 动态加载并注册组件且通过 render动态创建该组件
2019/05/30 Javascript
layui加载表格,绑定新增,编辑删除,查看按钮事件的例子
2019/09/06 Javascript
react实现复选框全选和反选组件效果
2020/08/25 Javascript
详解webpack的文件监听实现(热更新)
2020/09/11 Javascript
python写的一个squid访问日志分析的小程序
2014/09/17 Python
python中实现php的var_dump函数功能
2015/01/21 Python
详解Python3.6安装psutil模块和功能简介
2018/05/30 Python
python+selenium实现自动化百度搜索关键词
2019/06/03 Python
django框架模板语言使用方法详解
2019/07/18 Python
python调用matplotlib模块绘制柱状图
2019/10/18 Python
python 实现绘制整齐的表格
2019/11/18 Python
Foot Locker澳洲官网:美国运动服和鞋类零售商
2019/10/11 全球购物
类、抽象类、接口的差异
2016/06/13 面试题
一套Delphi的笔试题二
2013/05/11 面试题
信息管理专业推荐信
2013/10/29 职场文书
班组建设经验交流材料
2014/05/12 职场文书
工作汇报材料难写?方法都在这里了!
2019/07/01 职场文书
深入浅析Django MTV模式
2021/09/04 Python