应用程序不会在setInterval方法之后提交表单。 如果我在setInterval方法之前单击按钮“购买”(在5秒内),那么一切都很好,表单将发送出去。 但是在5秒之后,当数据将通过setInterval方法刷新时,如果我点击“购买”按钮则没有任何反应。
主要观点:
<div id="ListTable">
@{Html.RenderAction("_ListPartial");}
</div>
<script>
setInterval(function () {
$("#ListTable").load('@Url.Action("_ListPartial","Home",null)');
}, 5000);
</script>
_ListPartial view:
<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>
答案 0 :(得分:0)
请求完成后使用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秒,则您的队列中会有多个请求。