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

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‘;
}]);

参考:

http://stackoverflow.com/questions/16098430/angular-ie-caching-issue-for-http

时间: 2024-10-10 09:16:27

AngularJS 中设置 AJAX get 请求不缓存的方法的相关文章

AngularJS学习--- AngularJS中XHR(AJAX)和依赖注入(DI) step5

前言:本文接前一篇文章,主要介绍什么是XHR,AJAX,DI,angularjs中如何使用XHR和DI. 1.切换工具目录 git checkout -f step-5 #切换分支 npm start #启动项目 2.什么是XHR和依赖注入(Dependency Injection)? 1)什么是XHR? XHR是XMLHttpRequest的简称,XMLHttpRequest 用于在后台与服务器交换数据,主要是为了实现在不重新加载整个网页的情况下,对网页的某部分进行更新.简单说,浏览器中URL

在WINDOWS中设置计划任务执行PHP文件的方法

在网上找了些WINDOWS执行PHP的计划任务的方法,有一个写得很全,可惜在我这竟然没通过.最后不得不综合各门派的方法,才能在我这运行成功 1.写一个PHP程序,命名为test.php,内容如下所示: 复制代码 代码如下: <? $fp = fopen("test.txt", "a+"); fwrite($fp, date("Y-m-d H:i:s") . " 成功成功了!\n"); fclose($fp); ?>

在dreamweaver中设置php服务器F12预览的方法介绍

今天在dreamweaver中,按下F12来预览一个php文件,发现不行. 后经摸索,原来要设置一下. 这样就可以了. 在dreamweaver中设置php服务器F12预览的方法介绍

IE 针对ajax get请求的缓存问题

在chrome,ff中发送ajax请求get内容时没有缓存的现象,但是在IE中会对请求进行缓存,从而导致更新的内容没有改变的问题. 如果,你把CPU的阈值设置为25了,前面页面也提示设置成功了,但是CPU的阈值却还是原来的50.调试时,会发现返回的值确实是原来的值50而不是你最新设置的值25.你换到chrome浏览器却没有这种现象. 结论: IE浏览器对ajax请求进行了缓存. 解决办法: 方法1: url地址后添加随机后缀进行url欺骗 xmlhttp.open("GET",&quo

swiper在angularjs中使用循环轮播失效的解决方法

bug描述:我在anjularjs 中使用了swiper轮播图,通过动态获取到数据插入swiper-slide中,我在swiper初始化中设置了loop(循环),但是在出现了一点小问题,swiper会失效,划不动,当我设置固定的数据通过ng-src 插入到swiper-silde中,会正常轮播,但是第一张图会出现空白.通过查询了资料,发现swiper和angularjs执行的机制是不同的,swiper的机制是:初始化的时候自动扫描swiper-wrapper类下有多少个swiper-slide类

android 在代码中设置布局居中layout_gravity,layout_margin的方法

在代码中设置布局居中,翻看api可以知道view中有setGravity,setPadding,但是没有直接的setLayoutGravity,setMargin等方法.下面将在代码中实现类似布局中layout_gravity,layout_margin的方法. 可以通过设置view里面的 LayoutParams 设置,而这个LayoutParams是根据该view在不同的GroupView而不同的. 1.代码中设置layout_gravity LinearLayout layoutTop=(

Vue--axios:vue中的ajax异步请求(发送和请求数据)

一.使用axios发送get请求 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 6 <meta http-equiv=&q

Vue--axios:vue中的ajax异步请求(发送和请求数据)、vue-resource异步请求和跨域

跨域原理: 一.使用axios发送get请求 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 6 <meta http-eq

JQuery 中设置AJAX 的全局函数

在1.8版本前jquery 的全局函数需要绑定到具体的DOM对象之上 在1.8版本之后,需要绑定到Document 对象之上 var $doc = $(document); $doc.ajaxComplete(function(event,xhr,options){ var str_timeout = xhr.responseText; if ("session_timeout" === str_timeout) { window.top.location = rootPath + &