您的位置:首页 > 理论基础 > 计算机网络

XMLHttpRequest使用

2014-08-19 19:09 127 查看
获取来自服务器的响应

responseText:字符串形式响应数据

document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
 

responseXML:xml形式响应数据

 

xmlDoc=xmlhttp.responseXML;
txt="";
x=xmlDoc.getElementsByTagName("ARTIST");
for (i=0;i<x.length;i++){
  txt=txt + x[i].childNodes[0].nodeValue + "<br />";
}
document.getElementById("myDiv").innerHTML=txt;
 

XMLHttpRequest三个重要属性

readyState:XMLHttpRequest的状态,0-4

0:请求未初始化

1:服务器连接已建立

2::请求已接收

3:请求处理中

4:请求已完成,且响应已就绪

onreadystatechange:函数名,每当readyState属性改变时就调用该函数

status:200:”OK”  404:未找到页面

onreadystatechange 事件被触发 5 次(0 - 4),对应着 readyState 的每个变化。

检测浏览器并对应创建XMLHttpRequest对象

var xmlhttp;
if (window.XMLHttpRequest){
      // code for IE7+, Firefox, Chrome, Opera, Safari
      xmlhttp=new XMLHttpRequest();
}
else{
      // code for IE6, IE5
      xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}

XMLHttpRequest方法

open(method,url,async):规定请求的方式,url和处理方式

method:请求的方式;get或post

url:文件路径

async:true(异步),false(同步)

send(string):将请求发送到服务器

string:仅用于post方式,请求参数

xmlhttp.open("GET","demo_get.asp",true);
xmlhttp.send();
sendRequestHeader(header,value):向请求添加HTTP头

header:头名称

value:头值

setRequestHeader("Content-type","application/x-www-form-urlencoded");
异步时,请规定在响应处于 onreadystatechange 事件中的就绪状态时执行的函数

同步时,不需编写onreadystatechange函数,只需将代码放到send()后即可

 

xmlhttp.onreadystatechange=function(){

    if (xmlhttp.readyState==4 && xmlhttp.status==200){

        document.getElementById("myDiv").innerHTML=xmlhttp.responseText;

    }

}

xmlhttp.open("GET","test1.txt",true);

xmlhttp.send();
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  XMLHttpRequest