1

我正在使用 jqgrid 访问一个美味的 API。我已将 sidx 更改为“order_by”以匹配默认的 sweetpie API。

Jqgrid 传递 order_by(以前的 sidx)get 参数,而不管它是否按某些东西排序。如果它不排序,它只是传递一个空字符串作为排序标准。美味派被一个空字符串吓坏了,说“没有名为''的字段”

在我看来,有两种选择可以解决:

  1. 让 jqgrid 停止发送 order_by 参数,除非它需要
  2. 让 sweetpie 忽略一个空的 order_by 字符串...

关于如何做这两件事的任何建议?

4

1 回答 1

1

我不确定,我完全理解这个问题。首先要重命名sidxorder_by一个可以使用

prmNames: {sort: "order_by"}

如果您永远不会这样做sidxorder_by将被发送,您可以使用

prmNames: {sort: null}

您可以在prmNames.sort动态更改时实现一些场景。您可以使用 jqGrid回调事件

控制将发送到服务器的参数列表的另一种方法是serializeGridData回调。例如

serializeGridData: function (postData) {
    var myPostData = $.extend({}, postData); // make a copy of the input parameter
    if (myPostData.sidx.length === 0) { // or myPostData.order_by.length
        delete myPostData.sidx;
    }
    return myPostData;
}

另一个例子见答案

于 2012-07-07T08:26:38.637 回答