всем привет. чего-то я в тупнячке. не отправляется массив форм с помощью ajax в post для скрипта php вот такая функция собирает формы по id в которых активен чекбокс, складывает в массив и я добавляю ее в data для отправки вместе с формой заполнения email и имени Код (Text): function check() { arrayFormBuy = []; $('form input[type="checkbox"]:checked').each(function() { idForm = $(this).parent().attr('id'); arrayFormBuy.push($('form#' + idForm).serialize()); }) console.log(arrayFormBuy); // здесь в консоли получаю массив форм ["set=4&price=200&count=4", "set=6&price=280&count=2", "set=10&price=200&count=1"] dataUserForm = $('form#send').serialize() + "&arrayForm=" + arrayFormBuy; // собираю форму с данными пользователя и добавляю массив форм $.ajax({ type:'POST', url:'../post.php', data:dataUserForm, success:function(result){ console.log(result); // здесь в консоль я из php возвращаю var_dump($_POST) // и получаю: // array // 'fio' => string 'Roman' (length=5) // 'email' => string 'roman@gmail.com' (length=15) // 'arrayForm' => string 'set=4' (length=5) // 'price' => string '200' (length=3) // 'count' => string '1' (length=1) } }) } где я туплю? где мой массив?
rewuxiin, в google chrome есть инструменты разработчика, в нём вкладка network, там видно какие данные браузер отправляет, сделай ajax запрос и посмотри что там есть.
блин, да знаю я что такое инструменты разработчика, в консоли ведь отладку веду. нет там в network ничего что бы могло мне глаза раззуть
Видишь http запрос на сервер? Видишь заголовки? Видишь данные? Все правильно? В скрипте php есть включенная отладка? Что в логах? url какой то паленый
, может не туда внимание свое обращаю? в скрипте просто var_dump, его результат я вижу в консоли вот я пока на локалке набрасываю, так что url пофиг.
headers Код (Text): Request Method:POST Status Code:200 OK Request Headersview source Accept:*/* Accept-Encoding:gzip, deflate Accept-Language:ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4 Connection:keep-alive Content-Length:93 Content-Type:application/x-www-form-urlencoded; charset=UTF-8 Host:casnvr.loc Origin:http://casnvr.loc Referer:http://casnvr.loc/ User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.91 Safari/537.36 X-Requested-With:XMLHttpRequest Form Dataview sourceview URL encoded fio:Roman email:roman@gmail.com arrayForm:set=10 price:200 count:1,set=14 price:200 count:3 Response Headersview source Connection:Keep-Alive Content-Length:677 Content-Type:text/html Date:Mon, 26 Jan 2015 17:23:28 GMT Keep-Alive:timeout=5, max=100 Server:Apache/2.2.14 (Win32) DAV/2 mod_ssl/2.2.14 OpenSSL/0.9.8l mod_autoindex_color PHP/5.3.1 mod_apreq2-20090110/2.7.1 mod_perl/2.0.4 Perl/v5.10.1 X-Powered-By:PHP/5.3.1 preview Код (Text): 0: 5 1: 15 2: 10 3: 6 4: 200 5: 3 6: 3 7: 1
arrayForm:set=10 и arrayForm:set=14 arrayForm:count=1 и arrayForm:count=3 как то так должно было придти две serialise формы, а доходит только одна( если точно 1 arrayForm:set=10 arrayFormrice=200 arrayForm:count=1 2 arrayForm:set=14 arrayFormrice=200 arrayForm:count=3
При отладки JS что dataUserForm хранит до отправки? Добавлено спустя 2 минуты 46 секунд: У тебя похоже переменные затираются: set=4&price=200&count=4set=6&price=280&count=2
да, есть вот в отладке Код (Text): fio=Roman&email=roman%40gmail.com&arrayForm=set=4&price=200&count=3,set=8&price=200&count=1,set=10&price=200&count=1 хм. какой то неправильный массив у меня jquery создает
Правильный, это конкатенация строки и массива от javascript, jquery не причём. Ты понял что затёр параметры?