我需要将复选框组中所选复选框的值发布到服务器。最后,我并不担心复选框名称,而只是输入值列表。
如何将这些发布到服务器?如果我使用getValue(),我得到一个ext对象features
,在我得到的对象上使用ext.encode
{"feature-3":"3","cfeature-5":"5","feature-7":"7",
"feature-10":"10","feature-12":"12","feature-13":"13",
"feature-15":"15","feature-18":"18"}
我不在乎是否在发布到服务器之前或之后解析数据但我需要能够在php中循环数据并获取3..5..7等作为我循环时的值通过数据。
将checkboxgroup值发送到服务器的最佳方法是什么?我正在使用这样的ajax调用:
Ext.Ajax.request({
scope: this,
timeout: 1200000,
url: './data/saveUsedFeatures.php',
method: 'POST',
params: {
features: features
},
我需要了解如何发送数据并在php中处理它。
答案 0 :(得分:1)
首先编码你的对象特征以获得json字符串。
Ext.Ajax.request({
scope: this,
timeout: 1200000,
url: './data/saveUsedFeatures.php',
method: 'POST',
params: {
features: Ext.encode(features)
}
并在服务器端解码该字符串以获取数组:
<?php
$arr= json_decode($_REQUEST["features"],true);
foreach($arr as $v){
//your logic here
}
?>
或者
第二个选项是使用form.Submit()而不是Ext.ajax。
您将获得一组复选框组值。例如,如果您的checkboxgroup在服务器端具有属性name:'checkboxgroup'
:
<?php
foreach($_REQUEST["checkboxgroup"] as $v){
//your logic
}
?>