问题是我的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()));?>
这是结果
答案 0 :(得分:0)
尝试将js更改为此,对我来说,这似乎总能解决问题。
$('body').on('submit', '#orderer_form', function() {
// Your code here
});