2015-01-05 2 views
0

У меня есть простой контейнер, в который я асинхронно загружаю содержимое из простых файлов просмотра html с помощью функции jQuery .load().Асинхронно загруженный контент не обновляется при изменении файла

После изменения содержимого любого из файлов просмотра изменения не отображаются в браузере.

Я думал, что это может быть проблема с постоянством содержимого в DOM после того, как он скрыт и показан снова, но даже после очистки html контейнера и загрузки его с нуля содержимое до сих пор не обновляется.

Я использую виртуальную машину VMware с Debian 7 и общим доступом к папкам, поэтому я подумал, что, возможно, это проблема с синхронизацией общих папок, но просмотр html-файлов внутри консоли VM показывает, что их контент обновлен правильно.

В этом нет кеширования, поэтому я не знаю, в чем проблема.

Вот некоторые примеры кода:

в JS является довольно сложным, но вот часть непосредственно отвечает за загрузку файла по щелчку:

container.load(href + '.html', 
    function(){ 
     self.open(id); 
    }); 

содержимое загруженных из файла, как: about.html

<p class="content"> 
    Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aperiam, autem. 
</p> 

и вот часть моего индексного файла:

<div class="inner-wrapper" > 
    <a href="about" class="box-anchor" data-id="about"> 
     <h2 class="box-title">About</h2> 
    </a> 
    <div class="content-wrapper" id="about"><!--content is being loaded here--></div> 
</div> 
+0

Почему вы говорите, что «нет никакого кэширования участвует»? – Pointy

+0

Что я имею в виду, так это то, что у меня нет кэширования, настроенного на сервере. – Nicolas

+2

Можете ли вы предоставить код? –

ответ

0

Итак, я включил кэш-запрос, следующий за charlietfl's suggestion. Это устранило проблему. Это то, что обновленный код выглядит следующим образом:

container.load(href + '.html?' + (new Date).getTime(), 
    function(){ 
    self.open(id); 
}); 
Смежные вопросы