javascript - 如何使用序列化(jQuery/Ajax)循环表单数据

标签 javascript php jquery ajax

我正在尝试获取帖子 ID 并在用户单击“添加到收藏夹”按钮后将其插入数据库。

所有帖子都返回 id 30 的问题,这是数据库中的最后一个 id。

我的 php/html 代码

while($row = mysqli_fetch_array($get_posts)) {
    <i style="float:right;" class="fa fa-pinterest-square">
       <form id="pin_post" method="post"> ';
          if (isset($_SESSION['user_id'])){
               <input type="hidden" value="'. $_SESSION['user_id'].'" name="user_id" /> 
            }

            <input type="hidden" value="'.$row['post_id'].'" name="post_id[]" />

        </form>
     </i>

jQuery/Ajax 代码

<script>

    $(document).on("click",".fa-pinterest-square",function(e) {


        $.ajax({
            url: "includes/test.php",
            type: "POST",
            data: $('#pin_post').serialize(),
            success: function(data) {
                alert(data);
            }
        });

    });
</script>

当我点击任何帖子时,我会获取数据库中的最后一个 ID。

当我点击

时,请帮我获取每个帖子的ID

最佳答案

由于您在序列化时使用#pin_post,因此当 jQuery 查找#pin_post 时,您将获得最后一次命中。您应该使用唯一的 ID 或类似的内容

$(document).on("click",".fa-pinterest-square",function(e) {
    var form = $(this).find('form'); //Since the form is child to <i>
    $.ajax({
        url: "includes/test.php",
        type: "POST",
        data: form.serialize(),
        success: function(data) {
            alert(data);
        }
    });
});

关于javascript - 如何使用序列化(jQuery/Ajax)循环表单数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37381476/

相关文章:

javascript - 如何将按钮/链接添加到搜索结果列表中的最后一项

php - 帮助 php 搜索

javascript - Highchart datepicker范围选择器,可以动态选择要显示的数据

javascript - 在knockoutjs中使列表项的内部HTML可点击

javascript - 没有 Jquery 的 Canvas 上的鼠标坐标

javascript - 如何将 HTMLCollection 与数组连接起来?

javascript - DataTables 单个列搜索

javascript - 我可以使用变量的值来启动函数吗?

php - 单纯用户的登录控制和管理面板加密

javascript - 为什么当我在具有 src 属性的同一脚本标记中使用 jquery/javascript 代码时,它不起作用