thinkphp中ajax使用实例(thinkphp内置支持ajax)

一、总结

1、thinkphp应该是内置支持ajax的,所以请求类型里面才会有是否是ajax

// 是否为 Ajax 请求 if (Request::instance()->isAjax()) echo "当前为 Ajax 请求";

// 是否为 Pjax 请求 if (Request::instance()->isPjax()) echo "当前为 Pjax 请求";

二、thinkphp中ajax使用实例

 一、jquery实现方法:
MessageAction.class.php页面代码如下:
<?php
class MessageAction extends Action{ function index(){
$this->display();
} function add(){ //1、控制器add方法
//ajaxReturn(数据,'提示信息',状态)
$m=M('message');
if($m->add($_GET)){
$this->ajaxReturn($_GET,'添加信息成功',1); //2、以ajax方式返回
}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(){ //1、表单ajax提交实例
var $title=$('input[name="title"]').val();
var $message=$('input[name="message"]').val();
$mess=$('#mess');
$.getJSON('__URL__/add',{title:$title,message:$message},function(json){ //2.提交到控制器中的add方法 3、$.getJSON感觉是封装的ajax的open方法
//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应用的理解。

最新文章

  1. AMD规范与CMD规范的区别
  2. 李洪强iOS经典面试题143-绘图与动画
  3. ASPNET 导出EXCEL表
  4. 腾讯bugly团队提供的android国内镜像
  5. 最小topK问题
  6. viewpager实现酷炫侧滑demo
  7. mysql 查看正在运行的进程
  8. codeforces gym-101078
  9. memcached 缓存服务器
  10. leetcode 38
  11. Linux 字符设备驱动模型
  12. Java 内存区域和GC机制--备用
  13. segv &amp; mini coredump
  14. oracle高效分页查询总结
  15. 201521123011 《Java程序设计》第8周学习总结
  16. 作业(更新ing)
  17. Linux 安装zabbix
  18. c#核心基础--类的构造方法
  19. nginx_ssl安装
  20. linux远程管理常用命令

热门文章

  1. 过滤选择器及jQuery提供的相关方法
  2. snmp agent 表格实现(子代理方式实现)
  3. 【编程】辨异 —— proxy 与 delegate
  4. 方正飞越 A600硬改BIOS激活win7的工具与方法。
  5. js日期常用方法
  6. js进阶 13-11/12 jquery如何实现折叠导航
  7. Django中pycharm中 报错 ---ValueError: The field admin.LogEntry.user was declared with a lazy reference to &#39;system.sysuser&#39;, bu
  8. 常用协议(SPI, UART, I2C)
  9. softmax 与 sigmoid &amp; softmax名字的由来
  10. POJ 1275 Cashier Employment 挺难的差分约束题