如何使用 JQuery 和 CakePHP 提交表单?

How to submit form using JQuery and CakePHP?

我有一个表单,我会使用 JQuery 将此表单提交到我的控制器,而不使用 CakePHP 的 JsHelper,但我不知道我该怎么做。

我该怎么做?

我正在尝试这个。

//add.ctp

<script type="text/javascript">
    $(document).ready(function(){
        $('#formulario').submit(function(){
            var dados = $(this).serialize();

            $.ajax({
                type: "POST",
                url: "UsersController.php",
                data: dados,
                success: function( data )
                {
                    alert( data );
                }
            });

            return false;
        });
    });
    </script>


<div class="col-lg-6">
                <?php echo $this->Form->create('User', array("id"=>"formulario"); ?> 

                    <div class="form-group">                         
                        <?php echo $this->Form->input('nome', array( "label"=>"Nome",
                                                                     "placeholder"=>"Informe o nome",                                                                                               
                                                                     "class"=>"form-control",                                                                     
                                                                     ));?>                        

                    </div>

                    <div class="form-group">                                            
                        <?php echo $this->Form->input('email', array("label"=>"Email",
                                                                     "placeholder"=>"Informe o email",                                                                                               
                                                                     "class"=>"form-control",                                                                     
                                                                     ));?>                        

                    </div>

                    <div class="form-group">                                            
                        <?php echo $this->Form->input('senha', array("type"=>"password",                                                                    
                                                                     "maxlength"=>8,                                                                     
                                                                     "style"=>"width:200px;",
                                                                     "class"=>"form-control"));?>                        

                    </div>                

                    <button type="submit" class="btn btn-primary">Gravar</button>
                    <?php echo $this->Form->button("Limpar", array("type"=>"reset", "class"=>"btn btn-success"));?>
                <?php echo $this->Form->end(); ?>
            </div>    

这是一个明显的错误:

url: "UsersController.php",

文件名不是应该张贴表格的地方您需要使用 url 如下所示:

<script type="text/javascript">
    $(document).ready(function(){
        $('#formulario').submit(function(){
            var dados = $(this).serialize();

            $.ajax({
                type: "POST",
                url:$(this).attr('action'),
                data: dados,
                success: function( data )
                {
                    alert( data );
                }
            });

            return false;
        });
    });
    </script>

此外,您请求的功能也应该被 auth 允许,如下所示。

$this->Auth->allow(array('add', 'register','whatever_you_want'));

你也可以把你的url写成

url: "<?php echo Router::url(array('controller'=>'Users','action'=>'index'));?>",