2011-12-26 41 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什麼聽起來像是相同的行爲在頁面上