【问题标题】:Ajax call from extjs to Yii action url not showing post data从 extjs 到 Yii 操作 url 的 Ajax 调用不显示发布数据
【发布时间】:2019-02-16 23:03:08
【问题描述】:

我正在尝试通过 ajax 将数据传递给 yii 控制器。

这是我在 extJs 中的 ajax 代码:

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

在 Yii 控制器中:

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":[]}"

我被这个困住了。请帮忙。

【问题讨论】:

  • 我找到了解决办法。

标签: ajax extjs yii


【解决方案1】:

添加了 _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);
},

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多