我正在使用jquery向ajax发送一个html表单,当我将表单发送到我的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
}
});
答案 0 :(得分:5)
而不是data: {'data': formData}
您需要做的只是data: formData
答案 1 :(得分:1)
我看到两件事是错的:
您需要序列化表单数据:$(form).serialize()
你得到的另一端是普通的$ _POST数组