【问题标题】:jQuery Datatables load data from serverjQuery Datatables 从服务器加载数据
【发布时间】:2017-07-28 08:13:47
【问题描述】:

我使用 asp.net mvc,想从服务器端加载 json 数据。我有那段服务器端代码:

Function GetData() As ActionResult

            Dim TransactionSearchRow1 = New TransactionSearchRow With {
            .status = Status.Cancelled,
            .transactinId = 12345,
            .creditCardNumber = "1234324324",
            .supplier = "Office Depot",
            .createdAt = New DateTime(2008, 12, 28),
            .amount = 500
            }

            Dim TransactionSearchRowJson = JsonConvert.SerializeObject(TransactionSearchRow1)

            Return Json(TransactionSearchRowJson)

        End Function

它只是从 TransactionSearchRow 对象给我发回 json 字符串。

我有那个客户端代码:

$("#searchBTN").on("click", function () {
                $.ajax({
                    url: '/Transaction/GetData',
                    method: 'POST',
                    dataType: 'json',
                    success: function (data) {
                        $('#TransactionTable').dataTable({
                            data: data,
                            columns: [
                                { 'data': 'status' },
                                { 'data': 'transactinid' },
                                { 'data': 'creditcardnumber' },
                                { 'data': 'supplier' },
                                { 'data': 'createdAt' },
                                { 'data': 'amount' }
                            ]

                        });

                    }
                });
            });

还有简单的 HTML 表格:

<table id="TransactionTable" class="table table-striped table-bordered table-list">
                    <thead>
                        <tr>
                            <th class="col-md-1">Status</th>
                            <th>TransID</th>
                            <th>CCN</th>
                            <th>Supplier</th>
                            <th>Created Date</th>
                            <th>Amount</th>
                        </tr>
                    </thead>

                    <tbody>

                    </tbody>
                </table>

JSON 响应:

但是当我点击“搜索”按钮时出现错误。

【问题讨论】:

  • 分享你的 Json 响应
  • 在帖子中添加。
  • 您确认成功函数中的data返回正确吗?
  • 我把返回的数据贴出来。
  • 您的代码中似乎没有错误只是订购错误。您需要根据响应设置列顺序。

标签: javascript jquery asp.net json


【解决方案1】:

我认为您的响应数据格式不正确。请参考这个example。ajax 响应应该是一个对象,它有一个名为“data”的数组属性。 我对VB不熟悉,所以我给你C#代码sn-p。 更改您的服务器端操作代码,如下所示:

 return Json(new {
        data: new List<TransactionSearchRow>(){TransactionSearchRow1}
    })

【讨论】:

  • 会尝试并返回
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-30
  • 1970-01-01
  • 1970-01-01
  • 2021-08-21
  • 1970-01-01
相关资源
最近更新 更多