我有一页表格。
此表单有不同的“工作表”,而用户在浏览这些工作表时,使用$.ajax
从网站调用信息,表单将获得动态添加的输入。
最后,我试图将这个表单数据发布到一个php文件中。
我不会抛弃我的全部代码,因为这是很多规则。但这是我用来发布的部分:
function postForm() {
...
var data = $('form.feedForm').serialize();
//console.log( data );
$.post('.../get.php?feed_add_save_feeding', data )
.fail( function() {
console.log('fail');
...
})
.success( function(data) {
console.log('success');
console.log(data);
...
})
}
在我的php中,我添加了这个,看看会发生什么:
print_r( $_POST );
在我的控制台中,我看到这些参数是post:
dateType now
date_d 30
date_m 1
date_y 2016
time_h 19
time_m 27
time_s 42
herd_num_animals 150
herd 85
menu 26
feedtype_total_value 3639
tWeight 3639
weightCumu 3637
supps_name[29] Test voer 1
supps_price[29] 128
supps_dry_weight[29] 94
supps_weight[29] 1837
supps_name[34] Test voer 6
supps_price[34] 18
supps_dry_weight[34] 70
supps_weight[34] 1800
supps_name[30] Test voer 2
supps_price[30] 160
supps_dry_weight[30] 50
supps_weight[30] 1
user_id 1
php的输出是
Array
(
[dateType] => now
[date_d] => 30
[date_m] => 1
[date_y] => 2016
[time_h] => 19
[time_m] => 27
[time_s] => 42
[herd_num_animals] => 150
[herd] => 85
[menu] => 26
[feedtype_total_value] => 3639
[tWeight] => 3639
[weightCumu] => 3637
[supps_name] => Test voer 6
[supps_price] => 18
[supps_dry_weight] => 70
[supps_weight] => 1837
)
为什么所有提交的输入都不通过php?是吗?
(注:我故意把代码忘了,因为代码太大了。如果我需要添加一些或全部内容,请留言)
编辑
以下是完整的js代码和呈现的html(从firebug复制):
JSFiddle (just the code, not a working demo)
最佳答案
我看到的是您正在发送几个数组,输出中显示了正确的数组键
像supps_name[29]
这样在post body中发送的变量将是php中的数组
is_array($_POST['supps_name'])// true
你的html输入应该是
<input name="supps_name[]">
或使用定义的键
<input name="supps_name[1]">
关于javascript - jQuery序列化数据和PHP $ _POST不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35105598/