本文实例讲述了ThinkPHP中使用ajax的方法,提交表单如下图所示:
点击提交,不需要刷新本页,将内容提交到数据库当中,并在本页显示提交的内容。如下图所示:
一、jquery实现方法:
MessageAction.class.php页面代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
<?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代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
< 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页面代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
<?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代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
< 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程序设计有所帮助。