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 相关文章推荐
递归列出所有文件和目录
Oct 09 PHP
php XPath对XML文件查找及修改实现代码
Jul 27 PHP
php常用Output和ptions/Info函数集介绍
Jun 19 PHP
ThinkPHP CURD方法之limit方法详解
Jun 18 PHP
Laravel 5框架学习之向视图传送数据(进阶篇)
Apr 08 PHP
PHP获取远程图片并保存到本地的方法
May 12 PHP
php实现替换手机号中间数字为*号及隐藏IP最后几位的方法
Nov 16 PHP
thinkPHP框架自动填充原理与用法分析
Apr 03 PHP
php操作mongodb封装类与用法实例
Sep 01 PHP
mysqli扩展无法在PHP7下升级问题的解决
Sep 10 PHP
laravel实现上传图片的两种方式小结
Oct 12 PHP
PHP ob缓存以及ob函数原理实例解析
Nov 13 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
ThinkPHP验证码和分页实例教程
2014/08/22 PHP
基于PHP实现的事件机制实例分析
2015/06/18 PHP
详解Yii2 之 生成 URL 的方法
2017/06/16 PHP
laravel自定义分页效果
2017/07/23 PHP
设定php简写功能的方法
2019/11/28 PHP
Aster vs KG BO3 第一场2.18
2021/03/10 DOTA
ztree获取当前选中节点子节点id集合的方法
2015/02/12 Javascript
jQuery基于xml格式数据实现模糊查询及分页功能的方法
2016/12/25 Javascript
node文件上传功能简易实现代码
2017/06/16 Javascript
JS简单实现点击跳转登陆邮箱功能的方法
2017/10/31 Javascript
angularjs select 赋值 ng-options配置方法
2018/02/28 Javascript
详解如何从零开始搭建Express+Vue开发环境
2018/07/17 Javascript
jQuery实现的中英文切换功能示例
2019/01/11 jQuery
js+springMVC 提交数组数据到后台的实例
2019/09/21 Javascript
nodejs开发一个最简单的web服务器实例讲解
2020/01/02 NodeJs
Python的动态重新封装的教程
2015/04/11 Python
编写Python脚本把sqlAlchemy对象转换成dict的教程
2015/05/29 Python
在Python中marshal对象序列化的相关知识
2015/07/01 Python
Python多进程分块读取超大文件的方法
2016/04/13 Python
Python学习笔记之解析json的方法分析
2017/04/21 Python
Python实现针对给定字符串寻找最长非重复子串的方法
2018/04/21 Python
python石头剪刀布小游戏(三局两胜制)
2021/01/20 Python
python爬取内容存入Excel实例
2019/02/20 Python
详解pytorch 0.4.0迁移指南
2019/06/16 Python
Pandas 缺失数据处理的实现
2019/11/04 Python
TensorFlow基本的常量、变量和运算操作详解
2020/02/03 Python
python使用turtle库绘制奥运五环
2020/02/24 Python
Python爬虫实现模拟点击动态页面
2020/03/05 Python
python GUI库图形界面开发之PyQt5信号与槽基础使用方法与实例
2020/03/06 Python
Java面试题:为什么要用Java
2012/05/11 面试题
程序员岗位职责
2013/11/11 职场文书
旅游饭店管理专业自荐书
2014/06/28 职场文书
2014年政府采购工作总结
2014/12/09 职场文书
解约证明模板
2015/06/19 职场文书
Python中with上下文管理协议的作用及用法
2022/03/18 Python
利用uni-app生成微信小程序的踩坑记录
2022/04/05 Javascript