2011-12-26 76 views
1

我试验了一些JQuery和时间。我使用下面的代码仅用于测试目的。我的问题是我的控制器只是第一次被调用。对方法的后续调用没有进行。我试着在javascript中做出“警告”,它每10秒触发一次,但我的控制器从未被调用,因此“.page”中的文本从不改变。任何想法,为什么这是?asp.net mvc和jquery我的控制器只被调用一次

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
    <title> 
     <asp:ContentPlaceHolder ID="TitleContent" runat="server" /> 
    </title> 
    <link href="../../Content/Site.css" rel="stylesheet" type="text/css" /> 
    <script type="text/javascript" src="../../Scripts/jquery-1.4.1.min.js"></script> 
</head> 
<body> 
<script type="text/javascript"> 
    $(document).ready(function() { 
     window.setInterval(Update, 10000); 

    }); 

    function Update() { 
     var url = "/Home/GetTime"; 
     $.get(url, function (data) { 
      $(".page").html(data); 
     }); 
    } 
    </script> 
    <div class="page"> 

    </div> 
</body> 
</html> 

在我的控制器的方法应该拨打:

public string GetTime() 
     { 
      return "<h1>"+DateTime.Now.ToString()+"</h1>"; 
     } 
+0

任何错误?在你的调试工具中,你看到请求被发送了吗? – 2011-12-26 23:49:03

回答

8

我的猜测是缓存如果您正在使用Internet Explorer。您可以尝试使用$.ajax方法设置cache: false,并确保在其他浏览器中尝试。

也有相当多的discussion here什么听起来像是相同的行为在页面上