[英]how to send post parameters from yii2 gridview
我是yii2的新手。 我一直試圖使用post方法從視圖中向一個動作發送一些參數,不幸的是我的動作似乎沒有看到/接收它們。 幫助將非常感激。
我的列操作是這樣的:
'buttons'=> [
'password'=> function ($url, $model, $key){
$url =$url = Url::toRoute(['users/reset-password', 'username' => $model->username]);
return Html::a('<span class="glyphicon glyphicon-asterisk"></span>',$url,[
'title'=>'Clave',
'data-confirm' => Yii::t('yii', 'Are you sure you want to change this password?'),
'data-method' => 'post',
'data' => ['username'=>$model->username, 'test-name'=>'this is just for testing'],
]);
},
.....
data參數中的所有內容都應該通過post發送,但我只獲取csrf令牌..請提前感謝您的幫助。
使用下面的代碼
echo Html::a('Name', ['controller/action'], [
'class'=>'classname',
'data'=>[
'method'=>'post',
'confirm'=>'Are you sure? OK to continue Retract..',
'params'=>[
'param1'=>'value',
.......,
],
]
]);
“數據參數中的所有內容都應該通過帖子發送”為什么你相信? 我在文檔中找不到“數據”中的任何內容都將通過郵寄發送的內容。
你可以:
嘗試按會話發送:
'buttons'=> [<br/>
'password'=> function ($url, $model, $key){<br/>
Yii::$app->session->set('username',$model->username);<br/>
Yii::$app->session->set('test-name','this is just for testing');<br/>
$url =$url = Url::toRoute(['users/reset-password', 'username' => $model->username]);<br/>
return Html::a('<span class="glyphicon glyphicon-asterisk"></span>',$url,[<br/>
'title'=>'Clave',<br/>
'data-confirm' => Yii::t('yii', 'Are you sure you want to change this password?'),<br/>
'data-method' => 'post',<br/>
]);
},
在Controller上調用:
你可以得到會話:
Yii::$app->session->get('username');
並刪除會話
Yii::$app->session->remove('username');
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.