首页 > 解决方案 > 如何通过 AJAX 从 Laravel 控制器传递这个数组并创建一个表

问题描述

我有这个数组:

Array
(
    [0] => Array
        (
            [start_break] => 2019-05-23 09:01:23
            [end_break] => 2019-05-23 09:04:36
            [time_diff] => 0.05
        )

    [1] => Array
        (
            [start_break] => 2019-05-23 12:05:33
            [end_break] => 2019-05-23 12:07:19
            [time_diff] => 0.03
        )

)

我想通过 AJAX 传递它并在模式中创建一个表。到目前为止,我有这个 JS 代码:

    $.ajax({
        type: 'GET',
        url: 'get-breaks',
        data: {
            t_date: $t_date,
            emp_id: $emp_id
        }
        success: function (data) {
            //append to table
        },
        error: function (data) {
        }
   });

而这个 HTML 表:

<table id="breaks-table">
   <tr>
     <th>Start Break</th>
     <th>End Break</th>
     <th>Time Difference</th>
   </tr>
</table>

我想将数组内容附加到表体中。我希望有人能帮帮忙。

标签: jquerylaravelmodel-view-controller

解决方案


我假设成功从控制器获取数组

像这样尝试之后

$.ajax({
        type: 'GET',
        url: 'get-breaks',
        data: {
            t_date: $t_date,
            emp_id: $emp_id
        }
        success: function (data) {
            //append to table
            if(data.dateArray) {
              data.dateArray.forEach(function(item,index) {
                      $("table#breaks-table").append(createTr(item));
              });
            }
        },
        error: function (data) {
        }
   });



function createTr(item) {
    var tr = '<tr>' +
           '<td class="className">' + item.start_break + '</td>' +
           '<td>' + item.end_break + '</td>' +
           '<td>' + item.time_diff + '</td>' +
        '</tr>';

    return tr;
 } 

推荐阅读