2016-07-06 8 views
0

Yii2 controller/actionjqueryからpostリクエストを送信しようとしています。私controller/actionYii2。コントローラー/アクションでjson_decode()を実行する方法

$('#inscr_create').click(function(){ 
    var box = {}; // my object 
    var boxes = []; // my array 
    $('div[id^=inscrbox]').each(function (index, value) { 
     var position = $(this).position(); 
     var top = position.top; 
     alert(top); 
     box = { 
      _top: top 
     } 
     boxes.push(box); 
    }); 
    alert(boxes.length); 
    var parameters = { 
     "boxes[]": boxes 
    }; 
    $.post(
     '/inscription/updatesession', 
     parameters 
     ) 
     .done(function(result) { 
      console.log(result); 
     }) 
     .fail(function(){ 
      console.log("server error"); 
     }); 
     return false; 
}); 

私が持っている:

public function actionUpdatesession() 
{ 
    $array = Yii::$app->request->post('boxes'); 
    echo count(json_decode($array[0],true)); 
} 

しかし、この後consoleに私が0を参照してください。しかし_topの値がfirst elementからarrayになると予想しました。私が忘れたのは?

+1

'data'を見ます –

答えて

0

あなたはあなたでは例

のためのAjaxリクエスト

を使用することは、Ajax request..buddyで

var data = $("#formid").serialize(); 
    var keys = $('#gridid').yiiGridView('getSelectedRows'); // if you use grid 
    $.ajax({ 
     type: 'POST', 
     url: 'HeadersrequestController/actionApprove', 
     data: {data: data, keylist: keys}, 
     success: function (data) { 
        // some code 
     }, 
     error: function (data) { // if error occured 

      alert("Error occured.please try again"); 
     }, 
     dataType: 'html' 
    }); 
} 
お使いのコントローラで

アクションで

if (Yii::$app->getRequest()->isAjax) { 
       $data = Yii::$app->request->post(); 
       var_dump($data); 

    } 
関連する問題