Ajax调用从extjs到Yii action url不显示post数据
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ajax调用从extjs到Yii action url不显示post数据相关的知识,希望对你有一定的参考价值。
我试图通过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 = yiiwebResponse::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":[]}"
我坚持这个。请帮忙。
答案
添加_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);
},
以上是关于Ajax调用从extjs到Yii action url不显示post数据的主要内容,如果未能解决你的问题,请参考以下文章