AngularJS 中设置 AJAX get 请求不缓存的方法

在使用AngularJS开发过程中,会遇到发出请求存在缓存的问题,导致数据没有及时更新。

下面就来看看如何在AngularJS中配置使http请求时不缓存

var app = angular.module('manager', ['ngRoute']);

app.config(['$routeProvider', function($routeProvider) {
    $routeProvider
    .when("/index", {
            templateUrl: "/Templates/index.html",
            controller: IndexCtrl
        })
    .when("/search", {
            templateUrl: "/Templates/search.html",
            controller: SearchCtrl
    })
    .when("/baseSettings", {
            templateUrl: "/Templates/baseSettings.html",
            controller: BaseSettings
    })
    .when("/aboutTech", {
            templateUrl: "/Templates/aboutTech.html",
            controller: AboutTech
    })
    .otherwise({ redirectTo: "/index" });
}]);

app.config(["$httpProvider", function($httpProvider) {
    if( !$httpProvider.defaults.headers.get ) {
        $httpProvider.defaults.headers.get = {};
    }

    // 禁用 IE AJAX 请求缓存
    $httpProvider.defaults.headers.get['If-Modified-Since'] = 'Mon, 26 Jul 1997 05:00:00 GMT';
    $httpProvider.defaults.headers.get['Cache-Control'] = 'no-cache';
    $httpProvider.defaults.headers.get['Pragma'] = 'no-cache';
}]);
分享到:更多 ()

抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址