thinkphp中ajax使⽤实例(thinkphp内置⽀持ajax)thinkphp中ajax使⽤实例(thinkphp内置⽀持ajax)⼀、总结
1、thinkphp应该是内置⽀持ajax的,所以请求类型⾥⾯才会有是否是ajax
// 是否为 Ajax 请求 if (Request::instance()->isAjax()) echo "当前为 Ajax 请求";
// 是否为 Pjax 请求 if (Request::instance()->isPjax()) echo "当前为 Pjax 请求";
⼆、thinkphp中ajax使⽤实例
1⼀、jquery实现⽅法:
2 MessageAction.class.php页⾯代码如下:
3<?php
4class MessageAction extends Action{
5
6 function index(){
7  $this->display();
8 }
9
10 function add(){ //1、控制器add⽅法
11  //ajaxReturn(数据,'提⽰信息',状态)
12  $m=M('message');
13  if($m->add($_GET)){
14  $this->ajaxReturn($_GET,'添加信息成功',1); //2、以ajax⽅式返回
15  }else{
16  $this->ajaxReturn(0,'添加信息失败',0);
17  }
18 }
19
20}
21?>
22
23模板index.html代码如下:
24<html>
25<head>
26<script type="text/javascript" src="__PUBLIC__/js/jquery-1.7.1.min.js"></script>
27<script type="text/javascript">
28  $(function(){
29  $('input:button').click(function(){  //1、表单ajax提交实例
30var $title=$('input[name="title"]').val();
31var $message=$('input[name="message"]').val();
32    $mess=$('#mess');
33    $.getJSON('__URL__/add',{title:$title,message:$message},function(json){ //2.提交到控制器中的add⽅法3、$.getJSON感觉是封装的ajax的open⽅法
34//alert(json);return false;
35if(json.status==1){
36      $mess.slideDown(3000,function(){
37      $mess.css('display','block');
38      }).html('标题为'+json.data.title+'信息为'+ssage);
39    }else{
40      $mess.slideDown(3000,function(){
41      $mess.css('display','block');
42      }).html('信息添加失败,请检查');
43    }
44    });
45  })
46  })
47</script>
48</head>
49<body>
50<div id="mess"></div>
51<form action="" method="get">
52标题:<input type="text" name="title"/><br />
53信息:<input type="text" name="message"/><br />
54<input type="button" value="提交"/>
55</form>
56</body>
57</html>
58
59⼆、ThinkPHP实现⽅法:
60 MessageAction.class.php页⾯代码如下:
61<?php
62class MessageAction extends Action{
63
64 function index(){
65  $this->display();
66 }
67
68 function addtwo(){
69  $m=M('message');
70  if($vo=$m->create()){
71  if($m->add()){
72    $this->ajaxReturn($vo,'添加成功',1);
73  }else{
74    $this->ajaxReturn(0,'添加失败',0);
75  }
76  }else{
77  $this->error($m->getError());
78  }
79 }
80}
81?>
82
83模板index.html代码如下:
84<html>
85<head>
86<script type="text/javascript" src="__PUBLIC__/Js/Base.js"></script>
87<script type="text/javascript" src="__PUBLIC__/Js/prototype.js"></script> 88<script type="text/javascript" src="__PUBLIC__/Js/mootools.js"></script> 89<script type="text/javascript" src="__PUBLIC__/Js/ThinkAjax.js"></script> 90<script type="text/javascript">
91function add(){
92//ThinkAjax.sendForm(表单ID,URL,回调函数,信息显⽰的地⽅);
93  ThinkAjax.sendForm('frm','__URL__/addtwo',wc);
94  }
95function wc(data,status){
96if(status!=1){
ajax实例 文件浏览97    alert('发送失败');
98  }else{
99    $('list').innerHTML+='标题'+data.title+',信息'+ssage;
100  }
101  }
102</script>
103
104</head>
105<body>
106<div id="list"></div>
107<form action="" method="POST" id="frm">
108标题:<input type="text" name="title"/><br />
109信息:<input type="text" name="message"/><br />
110<input type="button" value="提交" onClick="add()"/>
111</form>
112</body>
113</html>
114
115感兴趣的朋友可以测试运⾏⼀下本⽂所⽰实例,可以加深对Ajax应⽤的理解。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。