2016-06-19 78 views
0

我相信问题出在ajax上。没有Ajax就没问题。 这是我的javascript代码:Ajax表单在yii框架中提交

var frm = $('#register-form'); 
    $(document).on('submit', '#register-form', function (e) { 


      $.ajax({ 

      type: frm.attr('method'), 
      url: frm.attr('action'), 
      data: frm.serialize(), 
      success: function (data) { 
       alert('Form was submitted!'); 
      } 
     }); 

      e.preventDefault(); 
     }); 

    }); 

形式为:

<form class="formclass" method="POST" action="<?php echo Yii::$app->request->baseUrl;?>/telephone/addnow/" role="form" enctype="multipart/form-data" id="register-form" novalidate="novalidate"> 
... 
</form> 

而控制器动作是:

public function actionAddnow() 
     { 
      if(Yii::$app->request->isAjax) 
      { 
         //codes here 
    } 
} 

的问题是,当我点击提交按钮,没有任何正在发生。

+1

添加一个'''error:function(e){console.error(e); }''' – rottenoats

回答

0

我看到你正在使用multipart/form-data,我认为你发送的文件是白色的。

在这种情况下,你shuldent使用:

data: frm.serialize(), 

insted的

data: new FormData(frm), 

另外你说,当你点击提交什么是hapend,但我认为你应该能够看到一个错误在您的浏览器控制台。这可能是有用的信息。