循环形式的 AJAX 请求

Posted

技术标签:

【中文标题】循环形式的 AJAX 请求【英文标题】:AJAX request in a looping form 【发布时间】:2021-03-15 01:19:56 【问题描述】:

我想知道如何在循环表单中单独发出 ajax 请求,当我单击指定的行删除按钮时,它能够发送异步删除请求。 当我使用 jquery 单击按钮时,不确定如何分配标识。

foreach(var item in Model)
  <form>
    <input type="text" id="id" name="id" value="item.id"/>
    <input type="button" id="btn" name="submit" value="Delete"/>
  </form>


<script>
  $("#btn").click(function()
          // alert the id value
      );
</script>

【问题讨论】:

【参考方案1】:

你可以试试

foreach(var item in Model)
  <form>
    <input type="text" id="id" name="id" value="item.id"/>
    <input type="button" class="btn" data-id="item.id" name="submit" value="Delete"/>
  </form>


<script>
  $(".btn").click(function()
    // alert the id value
    alert($(this).attr("data-id"))
  );
</script>

【讨论】:

谢谢,我已经尝试过了,但它会弹出两个警报,因为我有一个用于模态的父按钮,看起来以 'btn' 开头的引导类会受到影响。 你可以通过 btn-click 或其他方式更改类名。【参考方案2】:

我找到了基于 Agus Friasana 方法的解决方案:

$(".btn").click(function () 
        // to skip the alert from parent modal button
        if ($(this).attr("data-id") != undefined) 
            alert($(this).attr("data-id").toString());
            $.ajax(
                
                    url: "your url" + $(this).attr("data-id").toString(),
                    type: "DELETE",
                    dataType: "text",
                    success: function () 
                        alert('success');
                    ,
                    error: function () 
                        alert('fail')
                    
                
            );
        
    );

【讨论】:

以上是关于循环形式的 AJAX 请求的主要内容,如果未能解决你的问题,请参考以下文章

为每个 cURL 请求返​​回 AJAX 结果

如何利用jquery ajax实现循环的ajax请求

ajax和springmvc的请求响应原理

来自 for 循环内的 AJAX 链中最后一个 AJAX 请求的返回值

从循环中一次发送一个 AJAX 请求

ajax从struts2请求数据的返回形式