Как мне проанализировать POST-данные, которые отправляются в AJAX? - PullRequest
1 голос
/ 26 марта 2011

Я отправляю html-форму с помощью jquery в ajax. Когда я отправляю форму в свой php-файл и использую print_r($_POST), чтобы увидеть, что было отправлено, это результат:

Array
(
    [data] => user_first_name=&user_last_name=&user_birthday_day=&user_birthday_month=&user_birthday_year=&user_addr_street=&user_ad
dr_street_no=&user_addr_city=&user_addr_zip=&user_addr_country=1&user_contact_phone=&user_contact_email=&user_knows_us_from=
)

В принципе, я понимаю, что это делает, но я не совсем уверен, каков наилучший подход для разделения этой строки на массив. Я знаю, как использовать explode('&', $data), но он только разбивает мою строку в массив со значениями, но нумерованными ключами. Мне нужно $key => $value чтобы выглядеть как [user_first_name] => 'Peter' вместо [1] => 'user_first_name=Peter'

Как вы решаете эту проблему?

РЕДАКТИРОВАТЬ: Это мой ajax-код, но он работает, поэтому я думаю, что он не будет здесь необходим, но все же ..

  var formData = $('#form-registracia').serialize();

  $.ajax({
     url: '/ajax/registracia.php',
     type: 'POST',
     dataType: 'text',
     data: {'data':formData},
     success: function(data){
        // something will be here
     }
  });

Ответы [ 2 ]

6 голосов
/ 26 марта 2011

Вместо data: {'data': formData} все, что вам нужно сделать, это data: formData

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

Я вижу две неправильные вещи:

вам нужно сериализовать данные формы: $ (form) .serialize ()

то, что вы получите на другом конце, - ваш обычный $_POST массив

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...