2016-01-01 94 views
1

我想在我的控制器函數中創建一個等於POST值的變量,但我不確定如何訪問POST值。Yii2如何訪問使用AJAX發送的POST數據

答案會很棒,但任何調試技巧都會很棒。

我已經試過$ _ POST [「save_id」]以及$ _ POST [0] [「save_id」]

$('#save-file').click(function() { 

    var fileid = $(this).data('fileid'); 

    $.ajax({ 
      type: "POST", 
      url: "/files/save", 
      data: { 'save_id' : fileid }, 
      contentType: "application/json; charset=utf-8", 
      dataType: "json", 
      success: function (data) { 
       //do something 
       console.log(fileid); 
       alert("working"); 
      }, 
      error: function (errormessage) { 

       //do something else 
       alert("not working"); 

      } 
     }); 

}); 
+0

這是你在找什麼? http://www.yiiframework.com/doc-2.0/guide-runtime-requests.html#request-parameters –

+0

你想用你的ajax調用哪個php文件? – scaisEdge

回答

0

對於如果代碼是一個PHP文件中的網址,我建議你適當的路徑例如:

url: <?=Url::to(['/files/save']) ?>, 

(Remenber的加use use yii\helpers\Url;

如果沒有一個PHP是指正確的絕對路徑

保存在FilesController中保存操作

public function actionSave() 
{ 
    if (Yii::$app->request->isAjax) { 
     $data = Yii::$app->request->post(); 
     //data: { 'save_id' : fileid }, 
     $mySaveId = $data['save_id'] 
     // your logic; 
     ...... 
    } 
} 
+0

不錯,但刪除第4行的js代碼 – crafter