Как отправить массив на jquery ajax?

Рейтинг: 0Ответов: 1Опубликовано: 03.05.2011

Вот он фрагмент моего кода:

    $.ajax({
        url: 'ajax/ajax.feedback.php',
        type: 'POST',
        data: 'author=' + author + '&mail=' + mail + '&subject=' + subject + '&text=' + text +
            '&checkbox[1]=' + checkbox[1] + '&checkbox[2]=' + checkbox[2] + '&checkbox[3]=' + checkbox[3] + '&checkbox[4]=' + checkbox[4] + '&checkbox[5]=' + checkbox[5] +
            '&checkbox[6]=' + checkbox[6] + '&checkbox[7]=' + checkbox[7] + '&checkbox[8]=' + checkbox[8] + '&checkbox[9]=' + checkbox[9],

        success: ...

Как проще сделать? Просто отправить массив? (и как его прочитать потом в php? если есть какие-либо особенности) В гугле - не понятно - надо объект вроде создавать, использовать json. На практике ничего не выходит.

Ответы

▲ 3Принят

http://api.jquery.com/jQuery.post/

там есть пример

$.post("test.php", { 'choices[]': ["Jon", "Susan"] });

для вашего случая должно быть что-то такое:

$.post('ajax/ajax.feedback.php',
    {'author':author,'mail':mail,'subject':subject,'text':text,'checkbox[]':checkbox},
    function (html) { success ... 
    });

а еще проще, можно так:

$.post("test.php", $("#testform").serialize());

на сервере все это дело будет в массиве $_POST; достаточно вывести его на зкран print_r($_POST) и все станет ясно