При вызове Ajax из extjs в URL действия Yii не отображаются данные поста - PullRequest
0 голосов
/ 12 сентября 2018

Я пытаюсь передать данные в контроллер yii через ajax.

Это мой ajax-код в extJs:

Ext.Ajax.request({               
   url:action_url,
   type: 'POST',
   dataType: 'json',                                     
   data:{insurance: insurance_id},                                                                      
   success:function(res){ 
     console.log(res);
  },

В Yii Controller:

public function actionTest()
{    
    $response = Yii::$app->response;
    $response->format = \yii\web\Response::FORMAT_JSON; 
    if(Yii::$app->request->isAjax)       
    { 
        $data = Yii::$app->request->post();
        $response->data = ['data' => $data];            

    } else { 
        $response->data = ['fail' => 'failed'];         
    }
    return $response;                
    Yii::$app->end();

}

Я получаю ответ как:

{request: {…}, requestId: 6, status: 200, statusText: "OK",…}
responseText:"{"data":[]}"

Я застрял с этим. пожалуйста, помогите.

1 Ответ

0 голосов
/ 12 сентября 2018

Добавлен _csrf с другими параметрами.

Ext.Ajax.request({               
 url:action_url,
 method: 'POST',    
 dataType: 'json',                                     
 params:{insurance: insurance_id, _csrf : csrf_tok} 
 headers: { 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8' },                                                                     
 success:function(res){ 
  console.log(res);
},
...