簡體   English   中英

如何從yii2 gridview發送post參數

[英]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',
            .......,
        ],
    ]
]);

“數據參數中的所有內容都應該通過帖子發送”為什么你相信? 我在文檔中找不到“數據”中的任何內容都將通過郵寄發送的內容。
你可以:

  1. 使用get發送params OR
  2. 創建一個表單並將其包裝在鏈接周圍。 它應該通過郵寄發送。

嘗試按會話發送:

'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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM