0

Webサービスから受け取るJsonデータは

{"meta": {"limit": 20, "next": "/api/un_bn_in/?offset=20&limit=20&format=json", "offset": 0, "previous": null, "total_count": 439603}, "objects": [{"id": 1, "phrase": "this is bengali test", "resource_uri": "/api/un_bn_in/1/", "verified_by_admin": true, "verified_by_usr": true}] }

次のページへの URL は "/api/un_bn_in/?offset=20&limit=20&format=json" です

私のjsonreader関数は次のとおりです:-

jsonReader{
    id : "id",
    repeatitems: false,
    root: function (obj) { return obj.objects; },
    records: function (obj) { 
          return 20; },
    total: function (obj) { return obj.meta.total_count; 
}

ここでの本当の問題は、jqgrid によって生成された次のページ ボタンの URL が /api/un_bn_in/?format=json&_search=false&nd=1383576507420&rows=20&page=1&sidx=id&sord=asc であることです。

しかし、次のページを取得できるように、「/api/un_bn_in/?offset=20&limit=20&format=json」という URL を生成したい

この問題に関するヘルプをいただければ幸いです

4

1 に答える 1

1

jqGrid のprmNamesオプションを使用して、標準の jqGrid オプションの名前を変更したり、他のオプションを削除したりできます。たとえば、オプション

prmNames: {nd: null, search: null, sort: null, order: null, rows: "limit" }

必要のないいくつかのパラメーターを削除し、rowsオプションの名前を に変更しますlimit。のようなURLが取得できます/api/un_bn_in/?format=json&limit=20&page=2。最後のステップは、limitpageオプションをに置き換えること/api/un_bn_in/?format=json0&limit=20&offset=20です。場合によりserializeGridData追加でご利用いただけます。結果のオプションは次のようになります

url: "/api/un_bn_in/?format=json",
prmNames: {nd: null, search: null, sort: null, order: null, rows: "limit" },
serializeGridData: (postData) {
    return {
        limit: postData.limit,
        offset: (parseInt(postData.page, 10) - 1) * postData.limit
    };
}
于 2013-11-04T18:02:21.503 に答える