应用程序没有';t在ASP.net MVC中的setInterval方法之后提交表单

本文关键字:setInterval 中的 MVC 方法 之后 表单 提交 net ASP 应用程序 | 更新日期: 2023-09-27 18:29:00

应用程序在setInterval方法之后不提交表单。如果我在setInterval方法之前点击了按钮"购买"(在5秒内),那么一切都很好,表单就会发出。但在5秒钟后,当数据将通过setInterval方法刷新时,如果我点击"购买"按钮,则不会发生任何事情。

主视图:

<div id="ListTable">
    @{Html.RenderAction("_ListPartial");}
</div>
<script>
    setInterval(function () {
        $("#ListTable").load('@Url.Action("_ListPartial","Home",null)');
    }, 5000);
</script>

_列表部分视图:

<table class="table">
    <tr>
        <th>
            @Html.DisplayNameFor(model => model.Name)
        </th>
        .
        .
        .
    </tr>
    @foreach (var item in Model)
    {
        using (Html.BeginForm("AddToCart", "Shop", FormMethod.Post))
        {
            <tr>
                <td>
                    @Html.DisplayFor(modelItem => item.Name)
                    @Html.Hidden("ItemId", item.ItemId)
                </td>
                .
                .
                .
                <td>
                          <input type="submit" value="Buy" />
                </td>
            </tr>
        }
    }
</table>

应用程序没有';t在ASP.net MVC中的setInterval方法之后提交表单

请求完成后使用setTimeout
function sendRequest() {
 $.ajax({
  type: 'GET',
  url: 'URL',
  dataType: "json",
  complete: function(xhr, statusText) {
   setTimeout('sendRequest', 1000);
  },
  success: function(data, textStatus, jqXHR) {
   alert("success: ");
  },
  error: function(data, textStatus, jqXHR) {
   alert("error");
   alert(JSON.stringify(data));
  },
 });
}

如果加载内容的时间超过1秒,则队列中会有多个请求