0
им новичка в Yii2. Это мое первое серьезное приложение.Yii2 ActiveForm Ajax POST дважды называется
Проблема заключается в том, что мой AJAX модальный вид чувства 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()));?>
Это является результатом
Для меня добавление event.stopImmediatePropagation() (я уже event.preventDefault() решил эту проблему. Может быть, посмотреть на уничтожение модального на закрытии. Я подозреваю, что несколько модальных форм создаются. Также смотрите, если ваш form делает проверку ajax. В этом случае добавьте строку «$ this-> performAjaxValidation ($ model);» к вашему действию. – crafter