首页 > 其他分享 >AJAX IE缓存问题

AJAX IE缓存问题

时间:2022-09-27 12:22:09浏览次数:53  
标签:缓存 XMLHttpRequest 服务器端 aspx Since Modified AJAX IE

在IE浏览器中如果XMLHttpRequest提交的URL与历史一样,则会使用缓存,根本不向服务器端提交。因此无法取到刚提交的数据或新的数据。

1、改进服务器端
(1)后台是简单的.aspx文件,直接加上<%@ OutPutCache Location="None"%>即可。
(2)但是如果后台是.ashx文件通常在类里直接修改缓存设置。
        context.Response.Cache.SetCacheability(HttpCacheability.NoCache);
2、改进客户端
(1)利用加随机数或加时间戳改变请求地址

  • a、加随机数:
    xhr.open("GET",'AjaxOperations.aspx?rdm='+Math.random());
  • b、加时间戳:
    xhr.open("GET",'AjaxOperations.aspx?rdm='+new Date().getTime());

      这一种解决方案,只需要加个时间或随机数作为参数,服务器端不需要任何改动就可以达到目的。

(2)前台异步调用设置 XMLHttpRequest对象的属性
       在XMLHttpRequest发送请求之前加上 XMLHttpRequest.setRequestHeader("If-Modified-Since","0"),个人认为这个才是“正道”。因为你不能明确哪些ajax请求是需要还是不需要缓存的(解决网站的性能瓶颈,利用有缓存的ajax居多),所以每次在发送请求的时候确认一下是否要缓存,相对于2中的第(1)条显然少写了一个url参数,而且服务器端(改进方法1)也不需要改变设置,但是对于已经封装好的ajax库,你可能已经不能在外面直接使用XMLHttpRequest对象了,通常的设置语法可能是将("If-Modified-Since","0")作为参数传递:ajaxObj.sendPost(其他参数列表,...."If-Modified-Since","0"); (post方式)

标签:缓存,XMLHttpRequest,服务器端,aspx,Since,Modified,AJAX,IE
From: https://www.cnblogs.com/qianduanLamp/p/16734129.html

相关文章

  • 手把手教你使用LabVIEW人工智能视觉工具包快速实现图像读取与采集(含源码)
    目录前言一、工具包位置二、图像采集与色彩空间转换1.文件读写2.实现图片读取3.使用算子cvtColor实现颜色空间转换三、从摄像头采集图像1.Camera类2.属性节点3.实现摄像头......
  • spring三级缓存解决循环依赖
    创建单例bean主要经过三个步骤:1.实例化,2.填充属性,3:初始化一级缓存:singletonObjects,存放经过初始化后的bean。当通过名字获取bean的时候,如果这个名字对应的bean在一级缓存......
  • Cookie和Session
    一个网站,怎么证明你来过?客户端---服务端服务端给客户端一个信件,客户端下次访问服务端带上信件就可以了;cookie服务器登记你来过了,下次你来的时候我来匹配你;sees......
  • BrownfieldsWeb 开发项目
    BrownfieldsWeb开发项目介绍吨WebDev项目集成了业界在开发操作中使用的四大概念。即HTTPAPI,关系数据库设计和SQL(使用sqlite3),对象持久性,主要关注于逻辑和理解实现。......
  • 关于xp系统下,IE6/IE8不支持ssl证书站点的原因和解决办法
    xp系统本身最高只支持SSL3.0协议,后续的TLS1.1/1.2/1.3协议它都不支持,目前大部分网站都是TLS1.2版本的HTTPS,SSL3.0的基本上也不提供了,只有网站花大价钱,并且降低安全度的情况......
  • 帧结构和物理资源(Numerologies,系统帧和子帧,时隙)
    之所以名字写这么长,是因为我发现后面的每个知识点的内容都很多,但是也不排除内容很少的知识点,所以为了查阅方便,我尽量一篇文章只写一个知识点,而如果知识点内容少,那我就把它......
  • 第6章 Spring Boot缓存管理
    入门级缓存管理缓存是分布式系统中的重要组件,主要解决数据库数据的高并发访问。在实际开发中,尤其是用户访问量较大的网站,用户对高频热点数据的访问非常频繁,为了提高服......
  • Hisat2+stringtie+ballgown
    Hisat2+stringtie+ballgown#加载module中的hisat2moduleloadRNAseq_hisat2在下面操作开始前,需先进性mkdir文件的创建,输入和输出的文件前面都加上了文件的绝对路径,例如:/......
  • Flask学习笔记(五)-Flask通过Ajax传输JSON数据
    一.创建项目结构项目文件夹flask-ajax-demo,结构如下: 其中app.py是Python程序,user.html是静态页面。二.发起Ajax请求编写user.html,代码如下:<!DOCTYPEhtml><html......
  • APIView的基本使用与序列化组件
    APIView的基本使用1.drf是一个第三方app,只能在django中使用2.安装drf后,导入视图类APOIView,所有后期要使用drf写视图类,都是继承AOIView及其子类3.在app注册中注册rest_......