extjs - extjs中http post时的分页参数

标签 extjs extjs4.2

您好,我正在处理具有分页功能的 extjs 屏幕,请求中使用的方法必须通过 HTTP POST 动词响应。

我配置了我的商店,以便所有读取调用都是帖子。意识到,extjs 只是简单地传递请求有效负载的查询字符串,我认为可以将参数分开,就像它使用商店的 params 加载一样。

所以我想知道是否有可能在请求有效负载中使用 {params: {start: 0, page: 1, limit: 20}} 之类的东西,而不是查询字符串 start = 0 & page = 1 & limit = 20。

我将 Extjs 4.2 和 Java 与 RESTEasy 一起使用。

最佳答案

没有任何内置功能,但您可以使用以下内容扩展商店的代理:

Ext.define('Ext.ux.proxy.ModifiedAjax', {
    extend: 'Ext.data.proxy.Ajax',
    alias: 'proxy.modifiedajax',

    defaultParams: 'param',
    removeDefaultParams: true,

    buildRequest: function(operation) {
        var me = this,
            request,
            defaultParams = me.getParams(operation);

        me.extraParams = me.extraParams || {};
        if (me.defaultParams && defaultParams) {
            me.extraParams[me.defaultParams] = me.applyEncoding(defaultParams);
        }

        var params = operation.params = Ext.apply({}, operation.params, me.extraParams);
        if (me.removeDefaultParams != true) {
            Ext.applyIf(params, defaultParams);
        }

        request = new Ext.data.Request({
            params   : params,
            action   : operation.action,
            records  : operation.records,
            operation: operation,
            url      : operation.url,
            proxy: me
        });
        request.url = me.buildUrl(request);
        operation.request = request;

        return request;
    }
});

并且在商店中您需要设置代理的type'modifiedajax' .

关于extjs - extjs中http post时的分页参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19232774/

相关文章:

extjs - 应用程序启动时不应加载带有 autoload true 的存储

extjs - 调用事件因所有参数而延迟

javascript - 如何在javascript中访问函数外部的变量?

javascript - Ext.Net 按钮更改字体大小

javascript - 组合框不会显示加载的商店数据

javascript - 不同组件上的单个或多个商店实例?

javascript - Extjs 4.2.1 滚动到组合下拉列表中的选择

javascript - 在 Ext.grid.Panel 列中显示之前修改文本字段中的值

extjs - 将 `locked:true` 添加到 `actionColumn` 时布局运行失败

css - ExtJS 4 - 失焦时的网格列编辑器边框样式