如何在 ExtJS 存储代理中更改 extraParams 的分隔符?
How do I change the separator of extraParams in an ExtJS store proxy?
我遇到了与 ExtJS 存储的 extraParams 相关的问题。我需要将默认参数分隔符 & 更改为自定义的 ;因为我正在访问的 Web 服务没有响应 &.
有没有办法更改分隔符?
最佳,安德烈亚斯
我在 Sencha 论坛上找到了解决方法:
yourStore.proxy.url = 'your/url/' + yourParameter + ';.....';
使用这一行,在加载商店之前,可以绕过 extraParams 并仍然使用 url 字段将它们直接传递给使用的代理。
ExtJS 中没有内置任何内容来允许自定义参数分隔符 - 毕竟“&”的使用是事实上的标准。
但是,如果需要,您可以通过覆盖 Ext.Object.toQueryString
来更改默认行为
Ext.define('Ext.override.CustomQueryString', {
override: 'Ext.Object',
toQueryString: function() {
var queryString = this.callParent(arguments);
return queryString.replace('&', ':');
}
})
类似的东西会改变全球行为。这可能是也可能不是一件好事。
我遇到了与 ExtJS 存储的 extraParams 相关的问题。我需要将默认参数分隔符 & 更改为自定义的 ;因为我正在访问的 Web 服务没有响应 &.
有没有办法更改分隔符?
最佳,安德烈亚斯
我在 Sencha 论坛上找到了解决方法:
yourStore.proxy.url = 'your/url/' + yourParameter + ';.....';
使用这一行,在加载商店之前,可以绕过 extraParams 并仍然使用 url 字段将它们直接传递给使用的代理。
ExtJS 中没有内置任何内容来允许自定义参数分隔符 - 毕竟“&”的使用是事实上的标准。
但是,如果需要,您可以通过覆盖 Ext.Object.toQueryString
Ext.define('Ext.override.CustomQueryString', {
override: 'Ext.Object',
toQueryString: function() {
var queryString = this.callParent(arguments);
return queryString.replace('&', ':');
}
})
类似的东西会改变全球行为。这可能是也可能不是一件好事。