文档章节

52Ajax 禁用缓存

恋佳
 恋佳
发布于 2015/07/22 14:05
字数 371
阅读 6
收藏 0

1 Ajax(Asynchronous JavaScript and XML),异步的JavaScript与XML

2 Ajax中的一个重要对象是XMLHttpRequest。

3 使用Ajax准备向服务器端发送请求:

xmlHttpRequest.open("GET", "AjaxServlet", true);

示例

利用ajax 单击按钮刷新div 

(1)

<input type="button" value="ajax" onclick="ajaxSubmit();"/>
 
   <div id="div">
(2) JS 代码

注:XMLHTTPRequest对象在IE浏览器中和其他浏览器中实例化方式不一样


<script type="text/javascript">
	var xmlHttpRequest=null;//声明一个空的可以接收XMLHttpRequest对象
	function ajaxSubmit()
	{
		
		
		
		if(window.ActiveXObject)
		{	
			//IE浏览器
			xmlHttpRequest=new ActiveXObject("Microsoft.XMLHTTP");
		
		}
		else if(window.XMLHttpRequest)
		{	//除IE以外的其他浏览器 
			xmlHttpRequest=new XMLHttpRequest();
			
		
		}
		if(null!=xmlHttpRequest)
		{
			alert("invoked");
			xmlHttpRequest.open("GET", "/LearnWeb_Test/myAjax1", true)
			//关联好ajax回调函数
			xmlHttpRequest.onreadystatechange=ajaxCallBack;
			//向服务器发送数据
			xmlHttpRequest.send();
		
		}
		
	
	
	}
	
	function ajaxCallBack()
	{
		//回调函数发生4次
		//alert("回调");
		
		if(xmlHttpRequest.readyState==4)
		{
			if(xmlHttpRequest.status==200)
			{
				var responseTest=xmlHttpRequest.responseText;
				document.getElementById("div").innerHTML=responseTest;
			}
		}
	}
	
	
	
	</script>


(3) 服务器端代码

public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException
	{
		System.out.println("invoked");
		response.setContentType("text/html");
		PrintWriter out = response.getWriter();
		out.print("i miss you father");
		out.flush();
		out.close();
	}


4 禁用页面缓存,通过相应头设置。在服务器端设置


<span style="font-size:24px;">resp.setHeader("pragma", "no-cache");
resp.setHeader("cache-control", "no-cache");</span>

5 GET与POST的对比


(1) 以GET方式发送请求

var v1=document.getElementById("v1").value;
var v2=document.getElementById("v2").value;			
xmlHttpRequest.open("GET", "/LearnWeb_Test/myAjax1?v1="+v1+"&v2="+v2, true)
(2) 以POST方式请求
if (null != xmlHttpRequest)
		{
			
			
			var v1=document.getElementById("v1").value;
			var v2=document.getElementById("v2").value;
			
			xmlHttpRequest.open("POST", "/LearnWeb_Test/myAjax1", true)
			//关联好ajax回调函数
			xmlHttpRequest.onreadystatechange = ajaxCallBack;
			//向服务器发送数据
			xmlHttpRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
			// 使用post方式提交,必须要加上如下一行
			xmlHttpRequest.send("v1="+v1+"&v2="+v2);

		}














© 著作权归作者所有

恋佳
粉丝 0
博文 76
码字总数 62107
作品 0
大连
私信 提问
如何禁用ECSHOP缓存,如何关闭ECSHOP缓存

熟悉ECSHOP的老站长们都知道,ECSHOP是有缓存机制的。 ECSHOP的缓存机制从一定程度上可以减少ECSHOP反复读取数据库的几率,从而一定程度上降低服务器负担,提高访问速度。 但是启用缓存机制,...

Surjur
2015/04/30
0
0
WEBLOGIC性能参数总结

MessagesLogged – 该weblogic服务器实例产生的日志消息总数 Registered - 如果已取消注册由该对象表示的MBean,则返回false CachingDisabled - 禁用代理中的缓存的专用属性 SocketsOpenedT...

孟飞阳
2016/07/15
27
0
如何禁止IIS缓存静态文件(png,js,html等)

禁止IIS缓存静态文件(png,js,html等)背景: IIS为了提高性能,默认情况下会对静态文件js,html,gif,png等做内部缓存,这个缓存是在服务器iis进程的内存中的。IIS这么做在很大程度上可以...

长平狐
2012/06/08
106
0
Yii2 项目优化小贴士

缓存数据库概要(Schema) 在线上环境中数据库配置文件添加 和 ,示例如下: 注意:开启这个之后,每次修改数据库结构记得要删除缓存文件! 优化 Composer 自动加载 禁用调试模式 修改入口文...

小田天
2016/11/17
4
0
Nuster 1.7.9.5 发布,高性能 Web 缓存服务器

nuster 1.7.9.5 已发布,本次更新主要添加可以动态开启和禁用 cache 的 API,可以针对单个 tag(cache-rule 的 name),整个后端的 cache 和所有 cache 进行操作。 添加 缓存管理API 缓存管理a...

nuster
2018/02/22
809
0

没有更多内容

加载失败,请刷新页面

加载更多

安卓Q | 文件存储沙箱化FAQ,你想知道的这里都有!

文件存储沙箱化作为Android Q最为重要的变更之一,对应用文件存储、访问、分享等操作都带来重大的影响,被众多开发者关注和讨论。本文邀请华为技术专家对开发者提到的重点问题进行了解答,以...

安卓绿色联盟
21分钟前
1
0
可以提高程序员效率的工具!

前言 只有光头才能变强。 文本已收录至我的GitHub仓库,欢迎Star:https://github.com/ZhongFuCheng3y/3y 本文记录一下我在平时喜欢用的一些小工具,以便以后重装系统/换电脑的时候能快速安装...

Java3y
44分钟前
4
0
将博客搬至CSDN

https://blog.csdn.net/qq_38157006

Marhal
49分钟前
1
0
unicode Java中求字符串长度length()和codePointCount()的区别

在计算字符串长度时,Java的两种方法length()和codePointCount()一度让我困惑,运行书上例子得到的长度值是相等的,那为什么要设定两个方法呢? 对于普通字符串,这两种方法得到的值是一样的...

泉天下
50分钟前
2
0
uin-app 一、学习理由

选择uni-app 理由 别人的理由 1. 5+ 有HTML5+和Native.js技术,HTML5+包含常用的跨平台的几百个API,能满足常规开发需求,而Native.js把40w原生api映 射成js对象,这样js可以直接调原生。HTM...

轻轻的往前走
52分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部