Sero
(Terrymcginnis345)
1
Witam forumowiczów,
Mam problem, bardzo proszę o pomoc - dzięki.
Czy ktoś może orientuje się jak utworzyć link wysyłający dane w urlu metodą POST, a nie GET ? Chodzi mi o to żeby ukryć dane w urlu (queryString)
Przeszukałem trochę google’a, ale wszystkie metody nie działają.
U mnie to nie chodzi:
http://www.yiiframework.com/forum/index.php/topic/63152-submit-params-via-link-and-post-method/
Bardzo dziękuję za pomoc,
Pozdrawiam
Bizley
(Bizley)
2
data-method="post" działa w widokach, jeśli masz dodany asset z yii.js (czyli YiiAsset).
Sero
(Terrymcginnis345)
3
Hmm… a to jedyny sposób na ukrycie query-string’a, czy jeszcze da się to jakoś obejść ?
Dzięki za info.
Sero
(Terrymcginnis345)
4
U mnie to:
Html::a('Znalazłem', ['zaginiecie/znalazlem'], ['data-method' => 'post', 'data-params' => ['id_psa'=>$id_psa]] )
na widoku, a
$post = Yii::$app->request->post();
var_dump($post);
w kontrolerze nie chce pójść…
po var_dumpie dostaję pustą tablice…
w źródle mam:
<script src="/animals/web/assets/1b9fa26f/yii.js"></script>
więc rozumiem, że mam yii.js
Bizley
(Bizley)
5
Ale parametry nie w data-params tylko normalnie w linku.
Sero
(Terrymcginnis345)
6
Html::a('Znalazłem', ['zaginiecie/znalazlem','id_psa'=>$id_psa], ['data-method' => 'post'] )
to też nie działa…
Bizley
(Bizley)
7
Wybacz, mój błąd. ‘data-params’ jednak. Działa.
Kontroler:
public function actionTest()
{
var_dump($_POST);
return $this->render('test');
}
Widok:
<?= yii\helpers\Html::a('Link', ['site/test'], ['data-method' => 'post', 'data-params' => ['key' => 'value']]);
Rezultat:
array (size=2)
'_csrf' => string 'N1VtNk81VDdfeCsCI2MsexosJwUFXhkCbTcUWB1GCwNiLBxBCkFgcQ==' (length=56)
'key' => string 'value' (length=5)
Sero
(Terrymcginnis345)
8
ok. już wszystko czaje. data-params to raz, a dodatkowo plik yii.js musi być w kodzie strony u góry. dlatego wcześniej nie chodziło…
Dzięki wielkie za pomoc,
Pozdrawiam