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>