Ajax Post:已发布的对象数组,无法在php端检索

Ajax Post:已发布的对象数组,无法在php端检索,php,jquery,ajax,zend-framework,Php,Jquery,Ajax,Zend Framework,“公司=1&cat=3&cat=1” 我的Javascript对象“cat”有两个值1,3和 var cat = []; cat.push(1); cat.push(2); 现在我想使用AJAX将其发布到servr,我可以发布数据了 我可以看到数据出现在PHP端 但我的问题是 当我用php捕获发布的数据时,它只显示一个值cat 实际数据=公司=1,类别=[1,3] 这是我发布的查询=company=1&cat=3 这就是PHP打印所显示的内容= Array ( ["company]

“公司=1&cat=3&cat=1”

我的Javascript对象“cat”有两个值1,3和

var cat = [];
cat.push(1);
cat.push(2);
现在我想使用AJAX将其发布到servr,我可以发布数据了

我可以看到数据出现在PHP端 但我的问题是

当我用php捕获发布的数据时,它只显示一个值cat

实际数据=公司=1,类别=[1,3]

这是我发布的查询=company=1&cat=3

这就是PHP打印所显示的内容=

 Array
(
    ["company] => 1
    [cat] => 3
    "
)
如您所见,cat值只是数组(1,3)中的一个值


我在这里错过了什么

您可以使用
[]
传递数组。您的url应该变成:

“公司=1类[]=3类[]=1类”


然后,
$\u GET['cat']
将返回
数组(3,1)

我刚刚使用$.param()对对象进行编码,它只显示cat=1和cat=3。Daan的意思是,如果要创建带有字段的html表单,需要将这些字段的名称设置为“cat[]”为了使发布的结果成为一个数组。@relequestual I Select from Jquery的集合选项,然后我在调用console.log(cat)时将其推送到对象“cat”,我可以看到结果为['1',3']确定,在这种情况下,您需要使用name属性将您的名称从“cat”改为“cat[]”。这是一个与一些代码相关的问题,如果这些代码不能解决问题,您可能会发现它们很有用