2015-08-01 6 views
1

У меня есть javascript, который извлекает JSON через запрос ajax. Моя проблема заключается в том, что браузер начинает кэшировать ответ на этот запрос, поэтому на самом деле я не получаю последние данные с сервера, а вместо этого старую кешированную версию.предотвратить кеширование запроса xmlhttp

$.getJSON(self.data('pathAllGet'), function(json) { 
     self.data('galleryData',json); 
     self.data(render(self)); 
    }); 
+0

Использовать 'cache: false' в вашем ajax – Mihai

ответ

1

Не используйте метод getJSON. Это функция удобства для обычных случаев использования, которая не покрывает ваши потребности.

Используйте вместо этого ajax. Это позволяет включить кэширование.

$.ajax({ 
    dataType: "json", 
    url: self.data('pathAllGet'), 
    success: function(json) { 
    self.data('galleryData',json); 
    self.data(render(self)); 
    }, 
    cache: false 
}); 

Добавляя cache: false, вы говорите JQuery для добавления uniqueish строки в URL. Это означает, что в следующий раз, когда вы запросите данные, вы получите другой URL-адрес, который браузер не будет иметь в кеше.

Кроме того, настройте caching rules on the server.

+1

Небольшая коррекция: добавляет метку времени, – Mihai

Смежные вопросы