2015-05-14 3 views
3

Я хочу предотвратить кеширование в угловом. Для этого я установил свойство кеша false. После этого я запрашиваю тот же url. Но не отправил этот запрос на мой сервер. Б код для предотвращения,Как я могу предотвратить кеширование в угловом?

$http({ 
     cache : false, 
     method: "GET", 
     url :"myurl"; 

        }).success(function(data) { 

        }).error(function(data) { 
    }); 

и код, используемый для кэша удалить,

var $httpDefaultCache = $cacheFactory.get('$http'); 
$httpDefaultCache.remove('myurl'); 

$http({ 
     cache : false, 
     method: "GET", 
     url :"myurl"; 

        }).success(function(data) { 

        }).error(function(data) {   
    }); 

и может мне помочь? Пожалуйста

ответ

2

Вы можете передать фиктивный параметр в URL, так что URL стать уникальным путем добавления в него данных. Передача dummy параметра в params массив не повредит $http получить звонок.

$http({ 
    method: 'GET', 
    url: 'myurl', 
    params: { 'dummy': new Date().getTime() } 
}) 

Это обеспечит, что кеширование не будет выполнено для вашего URL-адреса.

Лучший вариант будет отключить кэширование на стороне сервера link here

+0

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

+0

@AnilaJacob Я уверен, что на клиентах нет другого способа сделать это. Что это проблема? .. В противном случае вам нужно установить кеширование на стороне сервера. –

+0

Hi pankajparkar, Plz check thi like, https://coderwall.com/p/40axlq/power-up-angular-s-http-service-with-caching Когда я просматриваю эту проблему, у всех есть такой же ответ, как свойство set cache, для false или удаления из кеша до требуя .. Но все не работают на меня. Почему это не работает? Есть ли проблема с версией или что-то еще? –

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