如何覆盖ajax请求vai jqgrid中的默认查询字符串参数

时间:2016-04-16 04:22:27

标签: ajax jqgrid

下面是我的jqGrid配置:

$('#grid').jqGrid({
    url: '/Panel/Article/latest_articles_json',
    datatype: 'json',
    fitWindow: SITE.FITWINDOW,
    postData: {},
    height: $(window).height() - 260,
    width: $(window).width() + SITE.FITWINDOW[0],
    altRows:true,
    gridview: true,
    colNames: colNames,
    colModel: colModel,
    autowidth: true,
    pager: '#page',
    page: 1,
    viewrecords: true,
    rowList: [50,100,200],
    rowNum: 50,
    shrinkToFit:false,
    cmTemplate: {sortable:false},
    jsonReader: {
        root: 'data.items',
        records: 'data.records',
        total: 'data.totalsize',
        page: 'data.page',
        id: 'id'
    }
});

当我运行我的Web应用程序时,它会产生查询字符串参数 它以参数

的形式请求ajax
_search:false
nd:1460779456815
rows:50
page:1
sidx:
sord:asc

现在我有了如何覆盖"sord:asc" to change to "sord:desc"

的查询字符串的问题

我尝试修改配置:url: '/Panel/Article/latest_articles_json?sord:desc',但它不起作用?

1 个答案:

答案 0 :(得分:0)

参数sordsidx的值来自jqGrid选项sortordersortname。因此,您应添加sortorder: "desc"选项,以sord=desc代替sord=asc

要控制名称以及发送到服务器的其他默认参数的存在,应使用prmNames选项。例如

prmNames: { nd: null, search: "isSearch" }

删除nd参数(例如nd=1460779456815)并将_search参数重命名为isSearch。我建议将cache-control: private, max-age=0设置为HTTP标头(请参阅the answerthis one)。