【问题标题】:Empty error message with jQuery.jTable带有 jQ​​uery.jTable 的空错误消息
【发布时间】:2014-11-06 13:44:24
【问题描述】:

jquery.jtable.js 插件有问题。

我的问题:

jTable 继续发布此空模式错误消息:

供您参考:

  • 我的后端使用NancyFX
  • 没有404,一切都是200 OK
  • 我返回的对象是普通 POCO,没有代理或任何类似性质的东西

这是我的 HTML:

<!-- in the header -->
<script src="~/Scripts/jquery-1.9.1.js"></script>
<link href="~/Content/themes/base/jquery-ui.css" rel="stylesheet" />
<link href="~/Scripts/jtable/themes/basic/jtable_basic.min.css" rel="stylesheet" />
<script src="~/Scripts/jtable/external/json2.min.js"></script>
<script src="~/Scripts/jquery-ui-1.9.2.min.js"></script>
<script src="~/Scripts/jtable/jquery.jtable.min.js"></script>

<!-- in body -->
<div id="UsersTableContainer"></div>

我有这个 javascript(在 $(document).ready() 中):

$('#UsersTableContainer').jtable({
    title: 'All users',
    paging: true,
    pageSize: 10,
    sorting: true,
    defaultSorting: 'UserName ASC',
    actions: {
        listAction: '/api/backend/users/list',
    },
    fields: {
        UserName: {
            title: 'UserName',
            key: true,
            list: true,
            width: '20%',
            sorting: true
        }/* and more 
            I've tried userName and UserName - nothing works
            I've tried to map all properties and none, using a test column - nothing works */
    }
 });
 $('#UsersTableContainer').jtable('load');

我可以通过 fiddler 2 看到这是跨行发送的:

{
  "records": [
    {
      "userName": "user"
      /*, more properties */
    }/*, more records */
  ],
  "result": "OK",
  "message": "All OK", //tried with an without this, just to see if it pups up
  "totalRecordCount": 2
}

类似问题:

【问题讨论】:

  • 这和jquery ui有什么关系?
  • jquery-jtable 依赖于 jquery-ui,这就是我将它作为标签包含的原因。据我所知,我可能需要对 jquery-ui 进行一些配置,以阻止它发布该消息并可能阻止它阻止事件传播。
  • 第一个链接坏了

标签: json jquery-ui nancy jquery-jtable


【解决方案1】:

我遇到了同样的问题并发现,就我而言,我已将结果从 OK 更改为 SUCCESS,并且 jTable 正在检查 OK。经过进一步调查,我还发现 jTable 期望结果属性被大写(即结果)。我没有检查,但我猜想 Records 需要大写,TotalRecordCount 和 Message 也是如此。我希望这个花絮可以帮助别人。

【讨论】:

    【解决方案2】:

    建议你这样解决(这是jTable插件的listAction属性):

    listAction: function (postData, jtParams) {
        console.log("Loading from custom function...");
        return $.Deferred(function ($dfd) {
            $.ajax({
                    url: '/api/backend/users/list',
                    type: 'POST',
                    dataType: 'json',
                    data: {},
                    success: function (data) {
                        data.Records = data.records;
                        data.Result = data.result;
                        data.TotalRecordCount = data.totalRecordCount
                        delete data.result;
                        delete data.records;
                        delete data.totalRecordCount;
                        $dfd.resolve(data);
                    },
                    error: function () {
                        $dfd.reject();
                    }
                });
            });
        },
    },
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-05
      • 2017-04-23
      • 1970-01-01
      • 2013-02-06
      相关资源
      最近更新 更多