I want to pass additional filter data to my PHP REST service, namely a set of values from a form. Form is a set of checkboxes with a same name: 'relations'.
To do this, I do the following:
var relationTypes = [],
objectsTreeStore = Ext.getCmp('objectsTreeGrid').getStore();
if( 'relations' in this.getFilterForm().getValues() ) {
relationTypes = typeof this.getFilterForm().getValues().relations ==='string' ? [this.getFilterForm().getValues().relations] : this.getFilterForm().getValues().relations;
}
objectsTreeStore.getProxy().extraParams.relations = relationTypes;
objectsTreeStore.load();
As example, value of relationTypes variable according to console.log is ["100_200", "110_200"].
But GET request URL is http://10.161.28.111:81/objectstree/get?branch_id=2&relations=100_200&relations=110_200&node=root.
PHP interprent this data as
Array
(
[branch_id] => 2
[relations] => 110_200
[node] => root
)
I think that URL should be like http://10.161.28.111:81/objectstree/get?branch_id=2&relations[]=100_200&relations[]=110_200&node=root.
How I can solve this issue?
Did you try to name your checkboxes name: 'relations[]' ?
You can also use CheckboxGroup container for correct behaviour. Docs — http://docs.sencha.com/extjs/4.2.2/#!/api/Ext.layout.container.CheckboxGroup
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With