现在的位置: 首页 > 综合 > 正文

XMLHttpRequest使用

2018年05月14日 ⁄ 综合 ⁄ 共 1437字 ⁄ 字号 评论关闭

获取来自服务器的响应

responseText:字符串形式响应数据

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

 

responseXMLxml形式响应数据

 

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三个重要属性

readyStateXMLHttpRequest的状态,0-4

0:请求未初始化

1:服务器连接已建立

2::请求已接收

3:请求处理中

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

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

status200”OK”  404:未找到页面

onreadystatechange 事件被触发 次(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:请求的方式;getpost

url:文件路径

asynctrue(异步),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();

 

抱歉!评论已关闭.