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小时内删除。
发表评论