javascript - jQuery序列化数据和PHP $ _POST不匹配

标签 javascript php jquery ajax post

我有一页表格。
此表单有不同的“工作表”,而用户在浏览这些工作表时,使用$.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/

相关文章:

javascript - 单击按钮后关闭模式

jquery - 如何放大 Rmarkdown 演示文稿中的绘图

php - 设置文本框的最大值和最小值

javascript - 如何更新 Json 对象数组中的一个字段?

php - WordPress 自定义查询在前端显示重复结果

php - 使用 swift 解析 json 数据时出错 "The data couldn’ t 被读取,因为它的格式不正确。”

javascript - 如何在 javascript 中依次激活 3 个不同的函数?

javascript - 通过 'vertical-align' 变化的位置动画

javascript - 使用 Fabric.js 从矩形区域获取对象并将该区域绘制到 Canvas 上

php - 测试具有内部函数调用的函数