jQuery $ .ajax для передачи многомерного массива в PHP - PullRequest
1 голос
/ 07 марта 2011

Я использую jQuery и PHP для записи данных JSON на мой сервер. Я обрабатываю приличное количество повторяющихся числовых данных (~ .75 КБ), поэтому я хочу передать данные в PHP в виде многомерного массива.

В настоящее время мне не удается передать данные в PHP в форме, которую он может распознать. Я пробовал разные комбинации отправки / получения в виде массивов и объектов, но безуспешно.

В лучшем случае был бы сценарий, в котором я передаю массив в PHP, а PHP преобразует его в читаемую форму. Я бы предпочел не использовать ассоциативные массивы или сериализацию со стороны Javascript.

Код ... Это дает мне 500 внутреннюю ошибку сервера, которая больше не происходит, если я пропускаю переданную переменную данных. (Я пока не использую $ data в php-файле, потому что я знаю, что он не работает.)

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 Ответ

1 голос
/ 07 марта 2011

Нашли решение:

"data": {
    data: generateCellData()
}

Приведенный выше код передает данные как объект в PHP, благодаря чему я могу получить доступ к исходному массиву как $ data ("data") Я все еще несколько озадачен тем, почему это работает, когда я уже передаю данные и другие параметры как объект.

...