javascript DOM编程艺术学习笔记(3)Ajax初步认识:

***** Ajax初步认识:
1.Ajax主要用于概括异步加载页面内容的技术;
2.Ajax的主要优势就是对页面的请求以异步方式发送到服务器。而服务器不会用整个页面来响应请求,
他会在后台处理请求,与此同时用户还能继续浏览页面并与页面交互。
3.Ajax技术的核心是XMLHTTPRequest对象,这个对象充当着浏览器中脚本(客户端)与服务器之间的中间人
的角色。以往的请求都是由浏览器直接向服务器发出,而javascript通过这个对象可以自己发送请求
,同时也自己处理相应;
4.不同浏览器对实现XMLHTTPRequest对象的方式不一样,
在ie下:
 var request=new ActiveXObject("Msxml2.XMLHTTP.3.0");
 在其他浏览器下:
 var request=new XMLHTTPRequest();

 5.XMLHTTPRuest对象有多重方法。其中最有用的是open方法,她用来指定服务器上将要被访问的文件;
 指定请求的类型:GET POST或SEND,第三个参数是用于指定是否以异步方式发送和处理;
 例如:
 open("GET","examlpe.text",true);

 6.onreadystatechange是一个事件处理函数,他会在服务器给XMLHTTPRequest对象送回响应的时候被触发;
 根据服务器具体的响应来做相应的处理,比如获取服务器返回的相关文本,并创建一些文档元素;

 request.onreadystatechange=function(){
    //dosomething
 }

 7.readyState属性值有5种0~5,分别表示:未初始化,正在加载,加载完毕,正在交互,完成;

 8.异步请求有一个容易被忽略的问题是异步性,就是脚本在发送XMLHTTPRequest请求后,仍然会继续执行,而不是
 等待响应返回;

 下面举一个具体例子来说明:

<!-- HTML代码 -->
<body>
	<div id="new"></div>
</body>

//JSd代码:
function getHTTPObject(){
	

	if(typeof XMLHttpRequest=="undefined"){

		XMLHttpRequest=function(){

			try{

				return new ActiveXObject("Msxml2.XMLHTT.6.0");
			}catch(e){}
			try{

				return new ActiveXObject("Msxml2.XMLHTT.3.0");
			}catch(e){}
			try{
				return new ActiveXObject("Msxml2.XMLHTT");
			}catch(e){}

			return false;

		}
	}
	

	return new XMLHttpRequest();
}

function getNewContent(){

	var request=getHTTPObject();
	if(request){
		request.open("GET","example.txt",true);
		request.onreadystatechange=function(){
			if(request.readyState==4){
				var para=document.createElement("p");
				var text=document.createTextNode(request.responseText);
				para.appendchild(text);
				document.getElementById("new").appendchild(para);
			}
		};
		request.send(null);
	}else{
		alert("不好意思,你的浏览器不支持ajax");
	}
}

addLoadEvent(getNewContent);

//要在服务器下才能进行!!


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值