*****
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请求后,仍然会继续执行,而不是
等待响应返回;
//要在服务器下才能进行!!
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);
//要在服务器下才能进行!!