У меня есть вкладки, где каждая вкладка загружается с помощью ajax. Я не хочу кэшировать (я хочу ajax-запрос каждый раз, когда вкладка кликается). Я создал вкладки следующим образом:
$('#tabs').tabs({ ajaxOptions: { cache: false}, spinner: 'Loading task...' });
Благодаря вышесказанному, когда я нажимаю на вкладку, добавляется специальная переменная:
http://localhost:3252/Task/Show/2?_=1327576289684
Это предотвращает предотвращение кэширования, делая URL уникальным, поэтому запрос всегда отправляется на сервер.
Однако, когда я открываю страницу с вкладками, они инициализируются и загружается вкладка по умолчанию (Задача 1). В этом случае переменная не добавляется:
http://localhost:3252/Task/Show/1
что приводит к загрузке страницы из кэша.
Я изменил поведение, изменив URL-адрес вкладки, чтобы он содержал уникальный номер для каждого запроса (в моем случае это галочки):
@<div id="tabs">
<ul>
@Code
For Each task In Model.Tasks
@<li><a href="@task.Url?_=@DateTime.Now.Ticks"><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>
Вопрос в том, почему я должен это делать? Разве это не то, что вы хотели бы решить с помощью ajaxOptions: { cache: false}
? Кто-нибудь сталкивался с этой проблемой раньше и нашел хорошее решение? Я что-то упустил или это ошибка?