使用ajax / jquery将多维数组/对象发布到php文件

时间:2014-08-08 11:11:33

标签: php jquery arrays ajax multidimensional-array

我要求在我的PHP文件中,我将AllItem作为多维数组而不是字符串接收,这样我就可以使用foreach循环它并进行进一步处理。

     $.post("show_items.php", 
         { 'AllItem' : JSON.stringify(AllItem)}, 

             function(msg)
             {  

                  console.log(AllItem);

控制台输出:

    Object {9: Array[2]}
    9: Array[2]
    0: "1"
    1: "4"
    length: 2
    __proto__: Array[0]
    __proto__: Object
                                alert(msg); 

警报输出:

string(22) "{\"9\":[\"1\",\"4\"]}"

                            });

可以在我之前的问题上检查构建AllItem数组的方法:

Assign index and values to a Multidimensional Array in jquery

我应该如何发布AllItem对象,以便将其作为服务器文件中的数组接收。 我应该在我的php文件中使用json_encode吗?现在我收到它:

$AllItem = $_POST['AllItem'];

echo $AllItem;

1 个答案:

答案 0 :(得分:0)

由于你绑定到jquery 1.3.2我改写了我的回答:

保持你的javascript不变,就像你在问题中写的一样。

在你的PHP文件中,你现在收到一个字符串,就像你在警报输出中写的一样。 根据你的字符串看起来的确切方式,你需要对它进行一次或两次json解码,但要使shure将第二个参数设置为true

$AllItem = json_decode(json_decode($_POST['AllItem'], true), true);

这将为您提供相关的数组。