internet explorer 에서 get방식으로 $http 호출시 기본 cache 가 true 이기 때문에
같은 주소를 두번이상 호출하게 되면 컨트롤러로 들어가지 않는다.
예를 들면 첫번째 $http에서 데이터를 가져오고 두번째 $http로 데이터중 한가지 값을 바꾸고
다시 첫번째 $http를 호출하게 되면 변경된 데이터가 출력되는것이 아니라 cache되어있는
구 데이터가 그대로 출력되는 문제가 발생
해결 방법
첫 번째로는 모듈 설정을 통해 cache를 false로 바꿔주는 것이다.
var myApp = angular.module('myApp', ['ngRoute']);
myApp.config(['$routeProvider', '$httpProvider', function($routeProvider, $httpProvider) {
$httpProvider.defaults.cache = false;
if (!$httpProvider.defaults.headers.get) {
$httpProvider.defaults.headers.get = {};
}
// disable IE ajax request caching
$httpProvider.defaults.headers.get['If-Modified-Since'] = '0';
//.....here proceed with your routes
}]);
두 번째 해결 방법은 GET방식 대신 POST방식을 사용하면 된다.
위의 caching issue는 익스플로러에서만 해당하는 issue