如何在ExtJS存储代理中更改extraParams的分隔符?



我遇到了一个与ExtJS商店的extraParams相关的问题。我需要改变默认参数separator &来个定制;因为我正在访问的web服务没有响应&

是否有办法改变分隔符?

高手,安德烈亚斯

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

但是,如果需要,您可以通过重写Ext.Object.toQueryString

来更改默认行为。
Ext.define('Ext.override.CustomQueryString', {
  override: 'Ext.Object',
  toQueryString: function() {
    var queryString = this.callParent(arguments);
    return queryString.replace('&', ':');
  }
})

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

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

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

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

最新更新