【问题标题】:How do I change the separator of extraParams in an ExtJS store proxy?如何更改 ExtJS 存储代理中的 extraParams 的分隔符?
【发布时间】:2015-12-25 15:29:07
【问题描述】:

我遇到了一个与 ExtJS 商店的 extraParams 相关的问题。我需要将默认参数分隔符 & 更改为自定义的 ;因为我正在访问的网络服务没有响应 &。

有没有办法改变分隔符?

最好的,安德烈亚斯

【问题讨论】:

    标签: javascript extjs store extjs6 extjs6-modern


    【解决方案1】:

    ExtJS 没有内置任何东西来允许自定义参数分隔符 - 毕竟使用“&”是一个事实上的标准。

    但是,如果需要,您可以通过覆盖 Ext.Object.toQueryString 来更改默认行为

    Ext.define('Ext.override.CustomQueryString', {
      override: 'Ext.Object',
      toQueryString: function() {
        var queryString = this.callParent(arguments);
        return queryString.replace('&', ':');
      }
    })
    

    这样的事情会改变全球的行为。这可能是也可能不是一件好事。

    【讨论】:

    • 您好罗伯特,感谢您的评论。遗憾的是,我无法在全球范围内更改它,我知道 & 是标准,但我无法更改我没有编写的网络服务。
    • 然后根据您的回答,避免使用查询参数并将其硬编码到 URL 中。
    【解决方案2】:

    我在 Sencha 论坛上找到了解决方法:

    yourStore.proxy.url = 'your/url/' + yourParameter + ';.....';
    

    通过这一行,在加载商店之前,可以绕过 extraParams 并仍然使用 url 字段将它们直接传递给使用的代理。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-18
      • 2013-12-25
      • 2017-03-30
      • 2019-12-15
      • 2011-04-13
      相关资源
      最近更新 更多