【问题标题】:Ajax Post : Array of Object posted , not able to retrieve in php sideAjax Post:发布的对象数组,无法在 php 端检索
【发布时间】:2015-05-26 11:07:01
【问题描述】:

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

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

var cat = [];
cat.push(1);
cat.push(2);

现在我想使用 AJAX 将它发布到服务器,我可以发布数据

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

当我在 php 中捕获发布的数据时,它只显示 cat

的一个值

实际数据 = company=1 , cat= [1,3];

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

这就是 PHP print_r 显示的内容 =

 Array
(
    ["company] => 1
    [cat] => 3
    "
)

如您所见,cat 值只是数组 (1,3) 中的一个值

我在这里缺少什么......

【问题讨论】:

    标签: php jquery ajax zend-framework


    【解决方案1】:

    您可以使用[] 传递一个数组。你的网址应该变成这样:

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

    那么$_GET['cat']会返回array(3,1)

    【讨论】:

    • 我只是使用 $.param() 来编码对象,它只显示 cat=1&cat=3 。
    • Daan 的意思是,如果您要创建带有字段的 html 表单,您需要将这些字段的名称设置为“cat[]”,以便发布的结果是数组。
    • @relequestual 我从 Jquery 中收集 Select 的选项,然后当我调用 console.log(cat) 时我将其推送到对象'cat' 我可以看到结果为 ['1',3']
    • 好的,在这种情况下,您需要使用 name 属性将您的名称从“cat”重命名为“cat[]”。这是一个与一些代码相关的问题,如果这不能解决问题stackoverflow.com/questions/14766103/…,您可能会觉得很有帮助
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-10-21
    • 1970-01-01
    • 2016-01-22
    • 2018-08-19
    • 2018-03-31
    • 1970-01-01
    • 2016-02-04
    相关资源
    最近更新 更多