ajax调用持续运行 - c#

我正在使用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
                });
            }

        }

参考方案

尝试这个:

(function poll() {
  $.ajax({                       
    type: 'GET',
    cache: false,
    url: '@Url.Action("TasksRefresh")',
    dataType: "json", 
    complete: function () { setTimeout(poll, 30000); }, // Changed, call poll again when 30s has pasted
    timeout: 30000, // This just says it fails if the request takes more than 30s
    success: function (data) {
      if (data.success == true)
        alert("Hello");

    } 
  });
})();

ddl在服务器中未更新-asp.net - javascript

我在ASP.NET c#上工作。我有一个DropDownList。 (runat =“ server”)在$ {document).ready上,我更新了它的值:$(document).ready(function () { document.getElementById("ddl").value = "abc"; ……

ASP.NET-如何更改JSON序列化的方式? - javascript

我正在使用ASP.NET通过以下查询返回Json文件:public ActionResult getTransactionTotals(int itemID) { DBEntities db = new DBEntities(); var query = from trans in db.Transactions // Linq query removed …

ASP.NET MVC中应为DataTable返回哪种数据? - javascript

我想为DataTable中的每个页面创建动态加载信息。我正在尝试遵循以下示例:https://www.datatables.net/manual/server-sidehttps://www.datatables.net/manual/data来自示例的代码:$('#example').DataTable( { serverSide: t…

Asp.Net:在服务器端还原DropDownList的客户端SelectedItem - c#

因此,我的页面上有一个dropDownList,其中包含数百个项目。用户可以通过在文本框中键入一些文本来过滤此DDL。然后对DDL进行相应的过滤(所有不包含输入文本的项目都将通过JavaScript删除)。然后,用户选择他的项目并按下按钮。通常,这将导致错误,因为DDL已更改并且ASP验证了PostBack数据。但是,使用EnableEventValidat…

asp.net mvc中的对象数组数据始终为null - javascript

我需要通过json将对象数组发送到asp.net mvc 2,但是我在mvc控制器中没有得到null对象是这样的entries[1].date = "12/22/2014" entries[1].Ref = "0002" entries[1].Credit = "100" entries[2].da…