应用程序没有';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>
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秒,则队列中会有多个请求