POST数组与jQuery和Ajax

POST array with jQuery and Ajax

本文关键字:Ajax jQuery 数组 POST      更新时间:2023-09-26

我有一个包含多个字段的表单,可以在其中添加字段。

表格如下:

<form id="myForm" action="myfile.php" >
<input . . > 
<select>. . . </select>
</form>

myfile.php有以下代码:

foreach ($_POST as $key => $value) {
echo $key." takes the <b>".$value."</b> Value"; 
}

这段简单的代码处理表单的所有条目,不管有多少。

现在,我想要的是:

当我点击提交按钮时,而不是将表单的内容发送给脚本,以实际获取该数组并传递给AJAX,而无需手动编写每个键及其值。

我想你要找的是serialize()

jQuery(function ($) {
    //submit handler
    $('#myForm').submit(function (e) {
        //prevent default submit
        e.preventDefault();
        $.ajax({
            url: $(this).attr('action'),
            type: 'POST',
            data: $(this).serialize(),
            ....
        })
    });
})

可以使用jQuery serialize() 方法

$("#myForm").submit(function(e){ //To listen submit event
    e.preventDefault(); //To prevent default browser action
    var data=$(this).serialize(); // To get form data
    $.post($(this).attr('action'),data,function(data){ //To perform post
         $('#result').html(data); //Result data
    });
});