2013-09-26 99 views
0

我的單頁angularjs應用程序似乎在IE9 +中工作正常,直到您編輯對象並重新加載頁面。如果您修改了一個字段(將名稱從「您」更改爲「我」),然後按保存服務器獲取更新並更新數據庫。如果您然後刷新頁面該字段有其原始值(名稱是「你」)。刷新頁面不會調用$ routeProvider,也不會去服務器。AngularJS和IE9頁面刷新問題

這種情況在Chrome,Firefox,Safari或其移動設備上都不會發生。

+0

可能是IE瀏覽器緩存來自服務器的響應?如果是這種情況,請嘗試在服務器端設置無緩存標頭。 – PrimosK

+0

我們在我們的角度應用程序中使用JSON服務時遇到了這個問題。設置服務器端緩存頭是個好主意。如果你不控制那部分,你可以添加一些東西到$資源或$ http ..(http配置有一個緩存:你可以使用false屬性) –

+0

@PrimosK這樣做了。我不確定這是否是一個很好的長期解決方案。好消息是瀏覽器仍然緩存腳本文件。 –

回答

0

我的服務器端是一個ASP.Net MVC應用程序,所以我禁用緩存。

將整個控制器或某些行動

[OutputCache(Location = OutputCacheLocation.None)] 
    public class HomeController : Controller 
    { 
     //All actions in here won't be cached. 
    } 

上的OutputCache屬性中使用@ KCD的回答這個問題:

How do I add site-wide no-cache headers to an MVC 3 app

0

IE的一個最大的問題是它不處理console.log,除非控制檯是開放的,並且會打破一切。不知道這是你的問題,但總是很好檢查。