Extjs 自定义缓冲网格分页参数

Extjs 自定义缓冲网格分页参数,extjs,extjs6,Extjs,Extjs6,我想在POST正文而不是URLPARM中发送分页参数。我该怎么做?我试着在sencha论坛和许多其他地方搜索,但找不到任何例子。我应该像这篇文章那样修改预回迁页面功能吗? 我想要而不是 /serviceCall?开始=0&限制=100&页面索引=1 我想要 /服务电话 您需要设置: actionMethods-要设置请求读取,应使用POST方法 paramsAsJson-通过表单而不是url参数发送参数 extraParams-设置额外参数(pagingId) pageParam-将页面参数

我想在POST正文而不是URLPARM中发送分页参数。我该怎么做?我试着在sencha论坛和许多其他地方搜索,但找不到任何例子。我应该像这篇文章那样修改预回迁页面功能吗?

我想要而不是

/serviceCall?开始=0&限制=100&页面索引=1

我想要

/服务电话

您需要设置:

  • actionMethods
    -要设置请求读取,应使用
    POST
    方法

  • paramsAsJson
    -通过表单而不是url参数发送参数

  • extraParams
    -设置额外参数(
    pagingId

  • pageParam
    -将页面参数从默认
    page
    更改为自定义
    pageIndex

例如:

var myStore = Ext.create('Ext.data.Store', {
    autoLoad: true,
    fields: ['a'],
    noCache: true,
    remoteSort: false,
    remoteFilter: false,
    pageSize: 10,
    proxy: {
        paramsAsJson: true,
        url: "https://example.xyz/f",
        noCache: false,
        type: 'ajax',
        pageParam: 'pageIndex',

        actionMethods: {
            create: 'POST',
            read: 'POST',
            update: 'POST',
            destroy: 'POST'
        },
        headers: {
            'Content-Type': 'application/json'
        },
        extraParams: {
            "pagingId": uuid //extra parameter
        }
    }
});

嗨,非常感谢你的回答。但是我还有一个问题,如果我想从以前的预取数据中传递pagingId。怎么做?我的意思是,返回的数据是:{items:[],totalItems:123,pagingID:uuid from backend}我想将这个pagingID传递回服务调用。我尝试使用事件存储区。on('prefetch'),但找不到访问rootProperty之外的数据的方法:(您可以通过
store.lastOptions.params
获取最后一个参数,如果我的尝试听起来很愚蠢,那么很抱歉。有人告诉我elasticSearch是这样工作的。它需要pagingID来知道返回页面的顺序。因此,我们尝试将pagingID从后端传递到GUI,然后GUI在每次预回迁时将其传递回后端。(每页的pagingID将不同)
var myStore = Ext.create('Ext.data.Store', {
    autoLoad: true,
    fields: ['a'],
    noCache: true,
    remoteSort: false,
    remoteFilter: false,
    pageSize: 10,
    proxy: {
        paramsAsJson: true,
        url: "https://example.xyz/f",
        noCache: false,
        type: 'ajax',
        pageParam: 'pageIndex',

        actionMethods: {
            create: 'POST',
            read: 'POST',
            update: 'POST',
            destroy: 'POST'
        },
        headers: {
            'Content-Type': 'application/json'
        },
        extraParams: {
            "pagingId": uuid //extra parameter
        }
    }
});