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 相关文章推荐
linux php mysql数据库备份实现代码
Mar 10 PHP
phpQuery占用内存过多的处理方法
Nov 13 PHP
教你如何在CI框架中使用 .htaccess 隐藏url中index.php
Jun 09 PHP
PHP限制HTML内容中图片必须是本站的方法
Jun 16 PHP
PHP的全局错误处理详解
Apr 25 PHP
PHP的CURL方法curl_setopt()函数案例介绍(抓取网页,POST数据)
Dec 14 PHP
PHP网站自动化配置的实现方法(必看)
May 27 PHP
PHP中rename()函数的妙用讲解
Feb 28 PHP
PHP随机数函数rand()与mt_rand()的讲解
Mar 25 PHP
php设计模式之策略模式应用案例详解
Jun 17 PHP
ThinkPHP 5.x远程命令执行漏洞复现
Sep 23 PHP
使用laravel根据用户类型来显示或隐藏字段
Oct 17 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
destoon二次开发入门示例
2014/06/20 PHP
PHP中exec函数和shell_exec函数的区别
2014/08/20 PHP
PHP四种排序算法实现及效率分析【冒泡排序,插入排序,选择排序和快速排序】
2018/04/27 PHP
javascript 时间比较实现代码
2009/10/28 Javascript
基于jquery tab切换(防止页面刷新)
2012/05/23 Javascript
关于jquery中全局函数each使用介绍
2013/12/10 Javascript
基于jQuery的图片不完全按比例自动缩小
2014/07/11 Javascript
使用jQuery简单实现模拟浏览器搜索功能
2014/12/21 Javascript
JavaScript中的fontsize()方法使用详解
2015/06/08 Javascript
jQuery grep()方法详解及实例代码
2016/10/30 Javascript
bootstrap手风琴制作方法详解
2017/01/11 Javascript
nodejs个人博客开发第二步 入口文件
2017/04/12 NodeJs
以BootStrap Tab为例写一个前端组件
2017/07/25 Javascript
EL表达式截取字符串的函数说明
2017/09/22 Javascript
解决layui 复选框等内置控件不显示的问题
2018/08/14 Javascript
解决Vue开发中对话框被遮罩层挡住的问题
2018/11/26 Javascript
在Python中封装GObject模块进行图形化程序编程的教程
2015/04/14 Python
Python的Flask框架与数据库连接的教程
2015/04/20 Python
Python中列表元素转为数字的方法分析
2016/06/14 Python
Python遍历目录中的所有文件的方法
2016/07/08 Python
python实现图片处理和特征提取详解
2017/11/13 Python
Python实现的求解最大公约数算法示例
2018/05/03 Python
Python3 jupyter notebook 服务器搭建过程
2018/11/30 Python
python 使用多线程创建一个Buffer缓存器的实现思路
2020/07/02 Python
详解Python直接赋值,深拷贝和浅拷贝
2020/07/09 Python
No module named ‘win32gui‘ 的解决方法(踩坑之旅)
2021/02/18 Python
美国一家全面的在线零售鞋类公司:SHOEBACCA
2017/01/06 全球购物
当当网官方旗舰店:中国图书销售夺金品牌
2018/04/02 全球购物
Dockers鞋官网:Dockers Shoes
2018/11/13 全球购物
初中体育教学反思
2014/01/14 职场文书
物理系毕业生自荐书
2014/06/13 职场文书
销售员岗位职责范本
2015/04/11 职场文书
幼儿园小班开学寄语
2015/05/27 职场文书
同学聚会致辞集锦
2015/07/28 职场文书
社区志愿服务活动感想
2015/08/07 职场文书
python的netCDF4批量处理NC格式文件的操作方法
2022/03/21 Python