1

如何在不刷新的情况下创建 jQuery + ajax 表单?这是我的控制器和视图:

http://pastebin.com/GL5xVXFZ

在“清除”PHP中,我创建了这样的东西:

$(document).ready(function(){
    $("form#submit").submit(function() {

    var note = $('#note').attr('value');

        $.ajax({
            type: "POST",
            url: "add.php",
            data: "note="+ note,
            success: function(){
                $('form#submit').hide(function(){$('div.success').fadeIn();});

            }
        });
    return false;
    });
});

在 add.php 文件中插入到数据库。

4

1 回答 1

1

有更复杂的方法可以做到这一点,例如在您的操作中检测 ajax 请求,然后如果检测到打印出 javascript 响应。你这样做的方式是

JAVASCRIPT

function postForm(note){
     $.ajax({
      url  : '/controller/action',
      type : 'POST',
      data : 'note='+note,
      success : function(jsn){
        var json = $.parseJSON(jsn);
        if(json.status == 200)
          alert('Completed Successfully');
        else
          alert('Not Completed Successfully');
      },
      error : function(xhr){
        //Debugging
        console.log(xhr);
      }


     });
   }

PHP

  <?php  
  Class Controller_ControllerName extends Controller_Template{
      public $template = 'template';

      public function action_index(){}

      public function action_form(){
        $this->auto_render = false; // <-EDITED
        $array = array();

        //PROCESSING FORM CODE HERE

        if($success){
          $array['status'] = 200;
        }else{
          $array['status'] = 500; 
        }

        print json_encode($array);
      }

    }
?>

这是一个我没有测试的例子,但这肯定足以让你工作

于 2012-06-12T11:51:49.437 回答