Ajax Post:已发布的对象数组,无法在php端检索
“公司=1&cat=3&cat=1” 我的Javascript对象“cat”有两个值1,3和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]
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[]”。这是一个与一些代码相关的问题,如果这些代码不能解决问题,您可能会发现它们很有用