2016-02-29 59 views
0

我需要将所选复选框的值复选框组中的值发布到服务器。最终,我并不担心复选框的名称,而只是输入值的列表。extjs 6复选框组getValue

如何发布这些到服务器?如果我用的getValue()我得到一个内线对象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中处理它。

回答

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的。 您将获得复选框组值的数组。例如,如果您的复选框组在服务器端有属性name:'checkboxgroup'

<?php 
    foreach($_REQUEST["checkboxgroup"] as $v){ 
     //your logic 
    } 
?>