отправка jquery .serializeArray (); вывод через ajax - PullRequest
5 голосов
/ 01 февраля 2011

Быстрый вопрос

Если я сериализовал форму, используя функцию jquery .serializeArray();, нужно ли что-то с ней делать, прежде чем я смогу отправить ее, используя jjery ajax data:?

например. могу ли я отправить

[{name: inp1, value: 'val1'}, {name: inp2, value: 'val2'}] как есть, или мне нужно как-то предварительно его обработать?

а в php как бы это прочитать?

1 Ответ

28 голосов
/ 01 февраля 2011

Было бы лучше использовать serialize.Это преобразует значения вашей формы в простую строку, которую можно использовать в качестве атрибута data вызова AJAX:

var myData = $('#yourForm').serialize();
// "inp1=val1&inp2=val2"
$.ajax({
    url: "http://example.com",
    data: myData
});

Если вы отправите это в PHP с помощью метода GET, вы можете получить доступ к этим значениям$_GET['inp1'] и $_GET['inp2']


Редактировать: Вы можете преобразовать массив из serializeArray в строку параметров, используя $.param

var myData = $('#yourForm').serializeArray();
// remove items from myData
$.ajax({
    url: "http://example.com",
    data: $.param(myData) // "inp1=val1&inp2=val2"
});
...