2012-04-05 22 views
0

我遇到了通過Jquery get獲取的Ajax請求緩存的隨機事件。有效的方法來避免在JQuery中獲取緩存獲取(AJAX)

jQuery的獲取在最直接的常規方法(路線+參數+回調)

做我已經使用

$.ajaxSetup({cache:false}); 

但它似乎並不總是工作。我得到ajaxSetup沒有緩存的工作原理,並且我看到添加到我的請求url中的添加的隨機參數。

我目前的瀏覽器是IE 8.0

有誰知道除了ajaxSetup方式另一種解決方案的...

+1

你怎麼知道它是緩存? – Greg 2012-04-05 04:16:31

+1

您的瀏覽器不會緩存對不同URL的請求(這是隨機參數的用途)。 – 2012-04-05 04:18:15

+0

我知道,因爲我有控制器中沒有命中的斷點。請求也回來得太快:-) – TGH 2012-04-05 04:19:35

回答

0

事實證明,我錯過了關於緩存ajax請求的假設。 真正的問題是緩存後續重定向到發生在服務器上的操作請求(以響應原始的ajax調用)。 解決方案最終成爲以下屬性。

[OutputCache(Location = OutputCacheLocation.None)] 

它可以應用在控制器級別或動作級別。

2

瀏覽器本身是根本不允許/能夠與不同的參數緩存請求,由作爲補充{cache:false}

這聽起來像緩存發生在你的鏈中的其他地方,可能在你的Web服務器/應用程序。 使用螢火蟲的網頁標籤來檢查瀏覽器正在請求的內容,以及網址的準確內容,然後從那裏取得。

+0

我使用Asp.Net MVC 3如果這有所作爲 – TGH 2012-04-05 04:31:53

+0

我已經添加了我的解決方案波紋管 – TGH 2012-04-10 00:54:06