gpt4 book ai didi

php - ExtJS Store 代理错误地使用 extraParams 中的数组构建 GET 请求

转载 作者:搜寻专家 更新时间:2023-10-31 21:31:49 24 4
gpt4 key购买 nike

我想将额外的过滤数据传递到我的 PHP REST 服务,即来自表单的一组值。表单是一组具有相同 name: 'relations' 的复选框。

为此,我执行以下操作:

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();

例如,根据 console.logrelationTypes 变量的值为 ["100_200", "110_200"]

但是 GET 请求 URL 是 http://10.161.28.111:81/objectstree/get?branch_id=2&relations=100_200&relations=110_200&node=root

PHP 将此数据解释为

Array
(
[branch_id] => 2
[relations] => 110_200
[node] => root
)

我认为该 URL 应该类似于 http://10.161.28.111:81/objectstree/get?branch_id=2&relations[]=100_200&relations[]=110_200&node=root

我该如何解决这个问题?

最佳答案

您是否尝试将复选框命名为 name: 'relations[]'

您还可以使用 CheckboxGroup 容器来实现正确的行为。文档 — http://docs.sencha.com/extjs/4.2.2/#!/api/Ext.layout.container.CheckboxGroup

关于php - ExtJS Store 代理错误地使用 extraParams 中的数组构建 GET 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29066460/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com