我有選項卡,其中每個選項卡使用ajax加載。我不想緩存(我希望在任何時候選項卡都被粘貼)。我創建選項卡如下:
$('#tabs').tabs({ ajaxOptions: { cache: false}, spinner: 'Loading task...' });
jQuery UI選項卡第一次加載選項卡緩存,雖然ajaxOptions:緩存:假指定
由於上述,當我點擊一個標籤,一個特殊的變量被附加:
http://localhost:3252/Task/Show/2?_=1327576289684
它防止防止緩存通過使URL唯一的,所以該請求是總是發送到服務器。
但是,當我用選項卡打開頁面時,它們將被初始化並加載默認選項卡(任務1)。在這種情況下,變量不會被追加:
http://localhost:3252/Task/Show/1
這會導致頁面從緩存中加載。
@<div id="tabs">
<ul>
@Code
For Each task In Model.Tasks
@<li><a href="@[email protected]"><span>@task.Name (@task.Number)</span></a><span class='ui-icon ui-icon-close'>Remove task</span></li>
Next
End Code
</ul>
@*@Html.EditorFor(Function(m) (m.Tasks))*@
</div>
的問題是:爲什麼我必須這樣做
我通過改變標籤URL包含每個請求的唯一編號(在我的情況蜱)改變行爲?是不是你想用ajaxOptions: { cache: false}
來解決?有沒有人遇到過這個問題,並找到了一個很好的解決方案?我錯過了什麼,或者它是一個錯誤?
我想你說的話,但沒有運氣。即使它起作用,那麼描述的行爲對你來說也是邏輯嗎? –
好的...我看到你已經在html鏈接中添加了一個時間戳到你的URL:'@ task.Url?_ = @ DateTime.Now.Ticks'你可以添加一個時間戳到初始URL或GET參數嗎?這很可能會對其進行分類。 –
問題已解決,因爲您可以在我的原始文章中閱讀。我的問題是我不喜歡我需要以自己的方式解決這個事實。我也很好奇爲什麼'ajaxOptions:{cache:false}'不適用於默認加載的第一個標籤... –