[英]Yii2 pass big array from one view to another controller
我有大數組,這是控制器的結果
public function actionAaaa()
{
//somoethig, effect array
return $this->render('test', [
'array' => $array
]);
}
例如在視圖中:
<pre>
<?print_r($array);
</pre>
現在,我想將此數組從視圖傳遞到另一個動作控制器。 我不知道該怎么做。 我正在嘗試:
<button type="submit" id="test" class="btn btn-lg btn-primary">Test</button>
<script>
$(document).ready(function () {
$("#test").click(function () {
var variable = <?=$array?>;
//alert($(this).attr('id'));
$.ajax({
type: "POST",
url: 'controller/action',
data: variable,
success: function (data) {
alert("success!");
}
});
});
});
</script>
但是當我嘗試使用下一個控制器時,我什么也沒看到:
public function actionBBBB()
{
$request = Yii::$app->request;
$tablica = $request->post();
echo 'Tablica POST';
echo '<br />';
echo '<pre>';
print_r($tablica);
echo '</pre>';
echo '<br />';
echo 'XXXxxxXXX';
}
任何想法?
您不能像這樣發布整個數組。 但是,您可以對其進行序列化:
var variable = <?serialize($array);?>
然后,您可以稍后對其進行反unserialize
。
這只是一種選擇。 有人會說這不好。 大概是。 您也可以使用SESSION
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.