За последние 24 часа нас посетили 23667 программистов и 1598 роботов. Сейчас ищет 831 программист ...

добавка массива в ajax post

Тема в разделе "JavaScript и AJAX", создана пользователем rewuxiin, 26 янв 2015.

  1. rewuxiin

    rewuxiin Активный пользователь

    С нами с:
    17 апр 2012
    Сообщения:
    611
    Симпатии:
    87
    всем привет.
    чего-то я в тупнячке.
    не отправляется массив форм с помощью ajax в post для скрипта php

    вот такая функция собирает формы по id в которых активен чекбокс, складывает в массив и я добавляю ее в data для отправки вместе с формой заполнения email и имени
    Код (Text):
    1.  
    2. function check() {
    3.  
    4.     arrayFormBuy = [];
    5.      $('form input[type="checkbox"]:checked').each(function() {
    6.         idForm = $(this).parent().attr('id');
    7.        arrayFormBuy.push($('form#' + idForm).serialize());
    8.     })
    9.    console.log(arrayFormBuy);
    10.   // здесь в консоли получаю массив форм ["set=4&price=200&count=4", "set=6&price=280&count=2", "set=10&price=200&count=1"]
    11.    
    12.     dataUserForm = $('form#send').serialize() + "&arrayForm=" + arrayFormBuy;
    13.  // собираю форму с данными пользователя и добавляю массив форм
    14.    
    15.     $.ajax({
    16.         type:'POST',
    17.         url:'../post.php',
    18.         data:dataUserForm,
    19.         success:function(result){
    20.             console.log(result);
    21.       // здесь в консоль я из php возвращаю var_dump($_POST)
    22.     // и получаю:
    23.     // array
    24.  // 'fio' => string 'Roman' (length=5)
    25.  // 'email' => string 'roman@gmail.com' (length=15)
    26. //  'arrayForm' => string 'set=4' (length=5)
    27.  // 'price' => string '200' (length=3)
    28.  // 'count' => string '1' (length=1)
    29.  
    30.         }
    31.     })
    32. }
    где я туплю? где мой массив?
     
  2. rewuxiin

    rewuxiin Активный пользователь

    С нами с:
    17 апр 2012
    Сообщения:
    611
    Симпатии:
    87
    плохо описал?
     
  3. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
    Открой вкладку network в браузере и все сам поймешь я думаю.
     
  4. rewuxiin

    rewuxiin Активный пользователь

    С нами с:
    17 апр 2012
    Сообщения:
    611
    Симпатии:
    87
    неа, недогоняю.
     
  5. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    rewuxiin, в google chrome есть инструменты разработчика, в нём вкладка network, там видно какие данные браузер отправляет, сделай ajax запрос и посмотри что там есть.
     
  6. rewuxiin

    rewuxiin Активный пользователь

    С нами с:
    17 апр 2012
    Сообщения:
    611
    Симпатии:
    87
    блин, да знаю я что такое инструменты разработчика, в консоли ведь отладку веду.
    нет там в network ничего что бы могло мне глаза раззуть:(
     
  7. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
    Видишь http запрос на сервер?
    Видишь заголовки? Видишь данные? Все правильно? В скрипте php есть включенная отладка? Что в логах?
    url какой то паленый:)
     
  8. rewuxiin

    rewuxiin Активный пользователь

    С нами с:
    17 апр 2012
    Сообщения:
    611
    Симпатии:
    87
    [​IMG],
    может не туда внимание свое обращаю?

    в скрипте просто var_dump, его результат я вижу в консоли вот
    [​IMG]

    я пока на локалке набрасываю, так что url пофиг.
     
  9. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    так текст запроса из network сюда выложи
     
  10. rewuxiin

    rewuxiin Активный пользователь

    С нами с:
    17 апр 2012
    Сообщения:
    611
    Симпатии:
    87
    headers
    Код (Text):
    1. Request Method:POST
    2. Status Code:200 OK
    3. Request Headersview source
    4. Accept:*/*
    5. Accept-Encoding:gzip, deflate
    6. Accept-Language:ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4
    7. Connection:keep-alive
    8. Content-Length:93
    9. Content-Type:application/x-www-form-urlencoded; charset=UTF-8
    10. Host:casnvr.loc
    11. Origin:http://casnvr.loc
    12. Referer:http://casnvr.loc/
    13. User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.91 Safari/537.36
    14. X-Requested-With:XMLHttpRequest
    15. Form Dataview sourceview URL encoded
    16. fio:Roman
    17. email:roman@gmail.com
    18. arrayForm:set=10
    19. price:200
    20. count:1,set=14
    21. price:200
    22. count:3
    23. Response Headersview source
    24. Connection:Keep-Alive
    25. Content-Length:677
    26. Content-Type:text/html
    27. Date:Mon, 26 Jan 2015 17:23:28 GMT
    28. Keep-Alive:timeout=5, max=100
    29. 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
    30. X-Powered-By:PHP/5.3.1
    preview
    Код (Text):
    1. 0: 5
    2. 1: 15
    3. 2: 10
    4. 3: 6
    5. 4: 200
    6. 5: 3
    7. 6: 3
    8. 7: 1
     
  11. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    arrayForm:set=10 ты это ожидал?
     
  12. rewuxiin

    rewuxiin Активный пользователь

    С нами с:
    17 апр 2012
    Сообщения:
    611
    Симпатии:
    87
    arrayForm:set=10
    и
    arrayForm:set=14

    arrayForm:count=1
    и
    arrayForm:count=3

    как то так должно было придти две serialise формы, а доходит только одна(

    если точно
    1
    arrayForm:set=10
    arrayForm:price=200
    arrayForm:count=1
    2
    arrayForm:set=14
    arrayForm:price=200
    arrayForm:count=3
     
  13. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    При отладки JS что dataUserForm хранит до отправки?

    Добавлено спустя 2 минуты 46 секунд:
    У тебя похоже переменные затираются: set=4&price=200&count=4set=6&price=280&count=2
     
  14. rewuxiin

    rewuxiin Активный пользователь

    С нами с:
    17 апр 2012
    Сообщения:
    611
    Симпатии:
    87
    да, есть
    вот в отладке
    Код (Text):
    1. 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 создает
     
  15. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Правильный, это конкатенация строки и массива от javascript, jquery не причём.
    Ты понял что затёр параметры?
     
  16. rewuxiin

    rewuxiin Активный пользователь

    С нами с:
    17 апр 2012
    Сообщения:
    611
    Симпатии:
    87
    да, спасибо за наводку!