JavaWeb_AJAX_简介

1.AJAX介绍
        AJAX=Asynchronous JavaScript and XML(异步的 JavaScript 和 XML),不是新的编程语言,而是一种使用现有标准的新方法。是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。

2.实例过程

<script type="text/javascript">
  	//ajax实例过程 Strawberry2013
 	function ajax() {
		var xmlHttpRequest = null;
		//new xmlHttpRequest object
		if (window.XMLHttpRequest) {
			// code for IE7+, Firefox, Chrome, Opera, Safari
			xmlHttpRequest = new XMLHttpRequest();
		} else {
			// code for IE6, IE5
			xmlHttpRequest = new ActiveXObject("Microsoft.XMLHTTP");
		}
		
		//onreadystatechange事件详细分析看本页后面的解释
		xmlHttpRequest.onreadystatechange = function() {
			if (xmlHttpRequest.readyState == 4 && xmlHttpRequest.status == 200) {
				document.getElementById("myDiv").innerHTML = xmlHttpRequest.responseText;
			}
		}
		
		xmlHttpRequest.open("GET", "/Test", true);
		/*
			open(method,url,async)
			method:请求的类型;GET 或 POST  url:文件在服务器上的位置  async:true(异步)或 false(同步)
		*/
		
		xmlHttpRequest.send();
		/*
			send(string)
			string:仅用于 POST 请求
		*/
	}
</script>

3.GET 与 POST
        (1).下面情况使用POST请求:
                1).无法使用缓存文件(更新服务器上的文件或数据库)(GET 可能得到缓存数据)
                2).向服务器发送大量数据(POST 没有数据量限制)
                3).发送包含未知字符的用户输入时,POST 比 GET 更稳定也更可靠
        (2).GET 请求
                1).避免缓存
                       xmlHttpRequest.open("GET","/Test?t=" + Math.random(),true);
                2).URL 携带参数
                       xmlHttpRequest.open("GET","/Test?fname=Bill&lname=Gates",true);
        (3).POST 请求
                如果需要像 HTML 表单那样 POST 数据,应使用 setRequestHeader() 来添加 HTTP 头。
                       xmlhttp.open("POST","/Test",true);
                       xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
                       xmlhttp.send("fname=Bill&lname=Gates");
4.服务器响应
        如需获得来自服务器的响应,请使用XMLHttpRequest对象的responseText(字符串形式)或responseXML(XML)属性。
5.onreadystatechange事件
        当请求被发送到服务器时,我们需要执行一些基于响应的任务。每当readyState(存有XMLHttpRequest的状态信息)改变时,就会触发 onreadystatechange 事件。
        (1).readyState的值
                 •0: 请求未初始化
                 •1: 服务器连接已建立
                 •2: 请求已接收
                 •3: 请求处理中
                 •4: 请求已完成,且响应已就绪
 
        (2).status的值
                 200: "OK"
                 404: 未找到页面
 
        (3).正确处理就绪响应
                当readyState等于 4 且状态为 200 时,表示响应已就绪:
                       xmlhttp.onreadystatechange=function(){
                               if (xmlhttp.readyState==4 && xmlhttp.status==200){
                                        //code
                               }
                       }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值