我正在使用 ajax 来检查我的 sql 数据库中是否存储了新的警报。我已将其设置为每 30 秒运行一次,但它会继续调用每秒检查数据库的函数。这是我的代码。
这是视图中的代码。“_Tasks”是我的部分视图,它将是要更新的视图。我没有为成功返回做任何事情,因为它永远不会到达该代码。
@Html.Action("_Tasks")
<script type="text/javascript">
(function poll() {
$.ajax({
type: 'GET',
cache: false,
url: '@Url.Action("TasksRefresh")',
dataType: "json",
complete: poll,
timeout: 30000,
success: function (data) {
if (data.success == true)
alert("Hello");
}
});
})();
</script>
这是在控制器中
public JsonResult TasksRefresh()
{
var alerts = getAlerts();
var cache = HttpRuntime.Cache["Tasks"];
if ( cache == alerts)
{
return Json(new
{
success = false,
});
}
else
{
return Json(new
{
success = true,
// View = this.Re
});
}
}