2016-06-19 76 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,但我認爲你應該能夠看到一個錯誤在您的瀏覽器控制檯。這可能是有用的信息。