HTML, AJAX, PHP -通过AJAX向PHP页面发送HTML输入数组

HTML, AJAX, PHP - Send a html input array through ajax to a php page

本文关键字:HTML AJAX PHP 输入 数组 -通过      更新时间:2023-09-26

我见过许多类似的问题,但是我试过了,没有一个有效。

我有一个表单,用户可以在其中输入未指定数量的输入。这些输入是选中的,用户可以在需要时添加它们。我正在使用ajax添加更多的选择,根据需要。

我然后试图张贴这个数组到php页面使用ajax,最终插入到数据库

这是我的html:
<strong>Allergens:</strong><br><div id="allergens">
<select name="allId[]" id="allId">
    <option value="">No allergens</option>
    <?php
        $sql = ("SELECT AllergenId, LookupValue From ALLERGENS");
        $result = $conn->query($sql);
        if (mysqli_num_rows($result) > 0) {
            while($row = mysqli_fetch_assoc($result)) {
                echo "<option value=".$row["AllergenId"].">".$row["LookupValue"]."</option>";
            }
        }
    ?>
</select><button type="button" class="addRemove" onClick="addAllergen()">+</button><br></div><br>

下面是我在more select中插入的内容:

<div id="newSelect">
<select name="allId[]" id="allId">
<?php
$sql = ("SELECT AllergenId, LookupValue From ALLERGENS");
$result = $conn->query($sql);
if (mysqli_num_rows($result) > 0) {
        while($row = mysqli_fetch_assoc($result)) {
            echo "<option value=".$row["AllergenId"].">".$row["LookupValue"]."</option>";
        }
    }
?>
</select><button type="button" class="addRemove" onClick="removeNew()">-</button><br></div>

这是我的ajax:

function addIng() {
    if (confirm("Are you sure you want to submit?")) {
        var toPost ={};
        $form = $("#ingForm");
        toPost.allId = [];
        var allId = document.querySelectorAll("#ingForm input[name='allId[]']");
        for (i = 0; i < allId.length; i++) {
            toPost.allId.push(allId[i].value);
        }       
        $.ajax({
            type: "POST",
            url: "../PHP/addIngredient.php",
            data: toPost,
            success: function(data) {
                $("#addIngResult").html(data);
            }
        });
    }
}

然后我如何设置我的php这样我就可以调用$_POST["allId"]并将其放入数组中?

在addcomponent .php页面上,您将在$_POST['toPost']变量中获得post值,因为这是ajax