Yii2 ActiveForm Ajax POST调用了两次

时间:2015-11-15 12:51:48

标签: javascript ajax post yii2 active-form

在Yii2中我是新手。这是我第一个认真的应用程序。

问题是我的AJAX模态形式sens POST两次。

这就是我所谓的模态形式

                Modal::begin([
                    'header' => '<h2>Hello world</h2>',
                    'toggleButton' => ['label' => 'click me'],
                    'id' => 'order_form'
                ]);


                Modal::end();
                ?>

这是我的JS代码

$this->registerJs('
$(function() {
$( "#orderer_form" ).on( "submit", function( event ) {
  event.preventDefault();
  event.stopImmediatePropagation();
  var formData = $( this ).serialize() ;
   alert($("#orderer_form").serializeArray());
       $.ajax({
            type: "POST",
            url: "/order",
            data: formData,
            success: function(msg){
                $("#thanks").html(msg);
                $("#order_form").modal("hide"); 
            },
            error: function(){
            //alert("failure");
            }
        });
    return false;
});
});
');

这是我渲染模态视图的方式

<?php echo \Yii::$app->view->renderFile('@app/views/common/order_form.php', array('model'=>new salestable()));?>

这是结果

enter image description here

1 个答案:

答案 0 :(得分:0)

尝试将js更改为此,对我来说,这似乎总能解决问题。

$('body').on('submit', '#orderer_form', function() {
    // Your code here
});