将所有字段附加为from to ajax请求

我有一个包含各种不同类型字段的HTML表单。 输入,选择,隐藏和文本区域。 我已经尝试将所有表单数据附加到ajax请求但POST数据没有发送。 获取所有表单数据而不仅仅是命名单个字段的原因是,如果需要,用户可以添加更多字段。

function saveProductEdits(f){ var url = 'func/editProduct.php?func=saveEdits'; $.ajax({ url:url, data:$('#edit_form').serialize(), type:'POST', beforeSend:function(){ }, success:function(e){ alert(e); } }); } 

PHP:

 if(isset($_GET['func'])){ if($_GET['func'] == 'saveEdits'){ if(!empty($_POST)){ }else{ echo 'Post data not sent'; } }else{ echo 'unknown function'; } print_r($_POST); //shows empty array }else{ } 

HTML:

 
//various inputs generated at run time //button to submit

我一直收到’发布数据未发送’。

更新:

屏幕截图的网络选项卡

在此处输入图像描述

我非常肯定,但我认为数据没有发送。

更新表格

 

php generated options

php generated options


Add another Catagory

Add another Size

   Link a catagory: Add... php generated options

在运行时添加字段的示例:这确实有效,并为每个on的id添加1,并为计算添加字段的隐藏值添加1。

 function newCatField(c,u,m){ $.ajax({ url:'func/getCats.php', type:'POST', data:{used:u}, success:function(e){ if(count === parseInt(m)){ }else{ document.getElementById('cats_list').innerHTML += '

Please Select'+e+'

'; count++; document.getElementById('count_cats').value = parseInt($('#count_cats').val()) + 1; } } }); }

$ .serialize()

可能这个function正是你要找的。

 $( "form" ).on( "submit", function( event ) { event.preventDefault(); console.log( $( this ).serialize() ); });