四部曲
一:创建异步对象
function createXmlHttpRequest(){
try{
return new XMLHttpRequest();
}catch(e){
try{
return new ActiveXObject("Msxm12.XMLHTTP");
}catch(e){
try{
return new ActiveXObject("Microsoft.XMLHTTP");
}catch(e){
throw e;
}
}
}
}
二:打开与服务器的连接(仅仅打开连接,并没有发送请求)
xmlHttp.open();用来打开与服务器的连接,需要三个参数
>请求参数:get/post
>请求的URL:指定服务器端的资源,例如 /homework/index.jsp
>请求是否为异步:如果true,发送异步请求
举例:
xmlHttp.open("GET","/homework/index.jsp",true);
三:发送请求
xmlHttp.send(null);如果不给可能会造成部分浏览器无法发送
>参数就是请求体得到内容,如果是GET请求,必须给出null
四:服务端响应
在xmlHttp对象的一个事件上注册监听器:onreadystatechange
xmlHttp对象一共有五个状态
0态:刚刚创建,没有调用open
1态:open调用,还没有调用send
2态:调用了send方方法
3态:服务器已经开始响应,但是不代表已经借宿
4态:服务器响应已经结束(最关键的状态)
得到xmlHttp对象的状态:
>var state=xmlHttp.readyState;
得到服务器的响应的状态码:
>var status=xmlHttp.status;
得到服务器响应的内容
>var content=xmlHttp.responseText;//响应文本格式内容
>var content=xmlHttp.responseXML;//得到xml的DOM对象
xmlHttp.onreadystatechange=function(){
if(xmlHttp.readyState==4&&xmlHttp.status==200){
var text=xmlHttp.responseText;
}
}
一:创建异步对象
function createXmlHttpRequest(){
try{
return new XMLHttpRequest();
}catch(e){
try{
return new ActiveXObject("Msxm12.XMLHTTP");
}catch(e){
try{
return new ActiveXObject("Microsoft.XMLHTTP");
}catch(e){
throw e;
}
}
}
}
二:打开与服务器的连接(仅仅打开连接,并没有发送请求)
xmlHttp.open();用来打开与服务器的连接,需要三个参数
>请求参数:get/post
>请求的URL:指定服务器端的资源,例如 /homework/index.jsp
>请求是否为异步:如果true,发送异步请求
举例:
xmlHttp.open("GET","/homework/index.jsp",true);
三:发送请求
xmlHttp.send(null);如果不给可能会造成部分浏览器无法发送
>参数就是请求体得到内容,如果是GET请求,必须给出null
四:服务端响应
在xmlHttp对象的一个事件上注册监听器:onreadystatechange
xmlHttp对象一共有五个状态
0态:刚刚创建,没有调用open
1态:open调用,还没有调用send
2态:调用了send方方法
3态:服务器已经开始响应,但是不代表已经借宿
4态:服务器响应已经结束(最关键的状态)
得到xmlHttp对象的状态:
>var state=xmlHttp.readyState;
得到服务器的响应的状态码:
>var status=xmlHttp.status;
得到服务器响应的内容
>var content=xmlHttp.responseText;//响应文本格式内容
>var content=xmlHttp.responseXML;//得到xml的DOM对象
xmlHttp.onreadystatechange=function(){
if(xmlHttp.readyState==4&&xmlHttp.status==200){
var text=xmlHttp.responseText;
}
}
发送post请求(一般发送请求时需要带有参数时才使用post)
open xmlHttp.open("post",....);
xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
xmlHttp.send("username=zhangsan&password=123");