解决XMLHttpRequest请求的缓存问题
来源:互联网 发布:化妆品销售数据 编辑:程序博客网 时间:2024/06/03 21:39
什么是缓存,就不用解释了, 大家在更新CSDN博客时经常遇到的问题,很头疼. 如何解决浏览器的缓存问题,看例子.
一个访问页面计数器的小例子.不多做解释,直接运行,看运行效果.
AJAXNew.html中:
<html> <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <script type="text/javascript"> var cachexmlhttp; function cache(){ //创建XMLHttpRequest对象 if(window.XMLHttpRequest){ //IE7、IE8、FireFox、Mozilla、Safari、Opera cachexmlhttp= new XMLHttpRequest(); if(cachexmlhttp.overrideMimeType){ cachexmlhttp.overrideMimeType("text/xml"); } }else if(window.ActiveXObject){ //IE6,IE5.5,IE5 var activexName=["MSXML2.XMLHTTP.60","MSXML2.XMLHTTP.5.0", "MSXML2.XMLHTTP.4.0","MSXML2.XMLHTTP.3.0","MSXML2.XMLHTTP", "Miscrosoft.XMLHTTP"]; for(var i=0;i<activexName.length;i++){ try{ cachexmlhttp=new ActiveXObject(activexName[i]); break; }catch(e){ } } } if(cachexmlhttp===undefined || cachexmlhttp===null){ alert("当前浏览器不支持创建XMLHttpRequest对象,请更换浏览器"); return; } //2,注册回调方法 cachexmlhttp.onreadystatechange=function(){ if(cachexmlhttp.readyState===4){ if(cachexmlhttp.status===200){ var message=cachexmlhttp.responseText; var div=document.getElementById("cachemessage"); div.innerHTML=message; } } }; //3,设置和服务器端交互的相应参数——Get方式 cachexmlhttp.open("GET","Cache",true); //4,设置向服务器端发送的数据,启动和服务器端的交互 cachexmlhttp.send(null); } </script> </head> <body> <div id="message"></div> <br/> <input type="button" onclick="cache();" value="测试缓存问题"/> <div id="cachemessage"></div> </body></html>
Cache.java(一个Servlet)中:
import java.io.IOException;import java.io.PrintWriter;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;/** * * @author xuemin */@WebServlet(urlPatterns = {"/Cache"})public class Cache extends HttpServlet { protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=UTF-8"); PrintWriter out = response.getWriter(); try { Integer counter = (Integer)request.getSession().getAttribute("Counter"); if(counter ==null){ counter = 0; }else{ counter++; } request.getSession().setAttribute("Counter",counter); out.println("当前计数器的值为:"+counter); } finally { out.close(); } }
运行以上程序, 很明显存在缓存问题,如何解决?
....
0 0
- 解决XMLHttpRequest请求的缓存问题
- XMLHttpRequest请求的缓存问题的处理方案
- HttpService请求缓存问题的解决
- 解决浏览器在本地无法跨域请求,不支持Ajax请求,XMLHttpRequest不能加载的问题
- 解决Ajax请求缓存问题
- IE浏览器中XMLHttpRequest对同一个URL只发送一个请求问题的解决。
- IE浏览器中XMLHttpRequest对同一个URL只发送一个请求问题的解决。
- 如何解决Ajax请求结果的缓存问题说明
- ajax发送请求,解决缓存问题
- ajax的xmlHttpRequest请求
- jquery 请求ie缓存,数据不更新的问题【ajax禁用缓存解决ie数据不更新的问题】
- jquery 请求ie缓存,数据不更新的问题【ajax禁用缓存解决ie数据不更新的问题】
- jquery 请求ie缓存,数据不更新的问题【ajax禁用缓存解决ie数据不更新的问题】
- jquery 请求ie缓存,数据不更新的问题【ajax禁用缓存解决ie数据不更新的问题】
- 解决XMLHttpRequest中文乱码问题
- 如何解决http请求304问题,304的原因很可能是缓存造成的。
- IE浏览器发送get请求时的缓存问题的解决方式
- 解决IE浏览器再重复请求请求内容相同的情况下调用本地缓存的问题!
- 存储大量数量(数组对象)
- 珍惜权力:农夫如此嫁女
- 建立自定义对象
- BZOJ 1206 [HNOI2005] 虚拟内存 题解与分析
- 使用JScript函数
- 解决XMLHttpRequest请求的缓存问题
- 使用分支语句(if…then…else)
- 使用循环(for…next)
- 指定缺省对象(with)
- poj2032Square Carpets(IDA* + dancing links)
- Xcode4下的项目依赖cross-dependencies
- Linux下如何生成静态库和动态库
- c#实现http文件下载
- 项目经理学习知识体系结构