Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/261.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Yii2将大阵列从一个视图传递到另一个控制器_Php_Yii2_Parameter Passing - Fatal编程技术网

Php Yii2将大阵列从一个视图传递到另一个控制器

Php Yii2将大阵列从一个视图传递到另一个控制器,php,yii2,parameter-passing,Php,Yii2,Parameter Passing,我有一个大数组,这是控制器的结果 public function actionAaaa() { //somoethig, effect array return $this->render('test', [ 'array' => $array ]); } <pre> <?print_r($array); </pre> 例如,在视图中: 你不能像那样发布整个数组

我有一个大数组,这是控制器的结果

public function actionAaaa()
    {
        //somoethig, effect array
        return $this->render('test', [
        'array' => $array
        ]);
    }
<pre>
    <?print_r($array);
</pre>
例如,在视图中:



你不能像那样发布整个数组。但是,您可以将其序列化以执行此操作:

var变量=
然后您可以
以后取消序列化它


这只是一种选择。有人会说这很糟糕。可能是。您也可以使用
会话

在AJAX调用中使用的url是
controller/action
,但您的操作名为
actionBBBB
。这可能是你什么都看不到的原因之一。请尝试使用
controller/b-b-b
,而不是
controller/action
。为什么您的操作首先命名为
actionBBBB
?尝试使用更具描述性的名称,如
actionDisplayBigArray
,您的
actionAaaa
将命名为
actionGenerateBigArray
<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);?>