我怎么回到控制器?

时间:2016-06-01 07:48:30

标签: javascript php jquery zend-framework2

我的表单包含ID formularregisterformularadresa以及一个提交ID为comanda的按钮。

我想用一个按钮(<a type="submit" id="comanda" class="btn btn-default" onclick="submitForms()">Finalizare comanda</a>)提交两个表单,然后返回控制器操作(zend framework 2)来验证post中的值。

我的JS功能是:

function submitForms() {
    $(document).ready(function() {
        $("#comanda").click(function() {
            $.post($("#formularregister").attr("afisarecos.phtml"), $("#formularregister").serialize() + $("#formularadresa").serialize(), function() {
            });
        });
    });
}

1 个答案:

答案 0 :(得分:0)

您需要向控制器操作发出AJAX请求。您可以在Web上找到很多examples,但在ZF2中使用Ajax需要了解的最重要的部分是:

  • /module/Application/config/module.config.php

    中启用ViewJsonStrategy
    'view_manager' => array(
        // ....
        'strategies' => array(
            'ViewJsonStrategy',
        ),
    ),
    
  • 视图中的Ajax请求

    $.ajax({
        url : 'url/to/yourController/action',
        type: 'POST',
        dataType: 'json',
        data : fromData,
        async: true,
        success:function(data, textStatus, jqXHR)
        {
           //success function
        }
        error : function(xhr, textStatus, errorThrown) 
        {
           // error function
        }
    });
    
  • 控制器操作

    if ($request->isXmlHttpRequest()) { //ajax call
    
        // your logic here
    
        $jsonModel = new JsonModel(
                       //...
        );
    
        return $jsonModel;
    
    }
    

有关详细信息,请参阅此simple example (Code + Demo)