jQuery $ .ajax将多维数组传递给PHP

时间:2011-03-06 22:09:21

标签: javascript jquery ajax json multidimensional-array

我正在使用jQuery和PHP将JSON数据写入我的服务器。我正在处理相当数量的重复数值数据(〜.75kb),所以我想以多维数组的形式将数据传递给PHP。

目前我无法以可识别的形式将数据传输到PHP。我尝试了各种发送/接收组合作为数组和对象但没有成功。

最好的情况是将数组传递给PHP并将PHP转换为可读形式。我宁愿不使用关联数组或Javascript的任何序列化。

代码...这给了我一个500内部服务器错误,如果我省略传递的数据变量就不会再出现错误。 (我还没有在php文件中使用$ data,因为我知道它不起作用。)

function generateData() {
  // code here
  return [ one[ sub_one[], sub_two[] ], two[], three[], four[] /* Etc... */ ]
}
function saveData() {
    $.ajax({
        url: "scripts/save.php",
        data: {
            "area":"testing",
            "location":"testing",
            "name":"testing",
            "data":generateData()
        }
    });
}
<?php
    $area = $_GET['area'];
    $location = $_GET['location'];
    $name = $_GET['name'];
    $data = $_GET['data']);

    # Performing operations with variables...

    echo 1;
?>

感谢您提供的任何帮助。

1 个答案:

答案 0 :(得分:1)

找到解决方案:

"data": {
    data: generateCellData()
}

上面的代码将数据作为对象传递给PHP,我可以将原始数组作为$ data(“data”)访问。当我已经将数据和其他参数作为对象传递时,我仍然感到有些困惑,为什么这会有效。