首页 > 解决方案 > 为 laravel 请求创建一个嵌套数组

问题描述

我正在尝试在从我的视图到控制器的请求中添加到嵌套数组。我已经在我的视图中动态生成了表单,如下所示:

我的观点:

我的表单视图

该请求当前如下所示:

在此处输入图像描述

如何将我的请求变成这样:

"akunbelanja_id" => array:3 [▼
    0 => "1" => array:3 [▼
        0 => "topi"
        1 => "pensil"
        2 => "baju"
    ]
    1 => "2" => array:2 [▼
        0 => "kertas"
        1 => "tinta"
    ]                         
    2 => "3" => array:1 [▼
        0 => "botol"
    ]
]

可能吗?我需要额外的 JavascriptJQuery吗?如果可能的话,如何访问控制器中的每个数据对象?

标签: arrayslaravellaravel-blade

解决方案


在视图中

<script type = "text/javascript" >
    $.ajaxSetup({
        headers: {
            'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content');
        }
    });

function sendData() {
    // Your nested JS array goes here
    var data =  [
       {
          "1" : {0 : "topi",1 : "pensil",2 : "baju"}
       },
       {
          "2" : {0 : "kertas",1 : "kertas"}
       },
       {
          "3" : {0 : "botol"}
       }
    ];
    $.ajax({
        url: '/test',
        type: 'POST',
        dataType: 'json',
        contentType: 'json',
        data: JSON.stringify(data),
        contentType: 'application/json; charset=utf-8',
    });
} 
</script>

在控制器中

function saveJson(Illuminate\Http\Request $request)
{
    $data = json_decode($request->getContent());
}

推荐阅读