Ajax的四个过程

2019-05-05  本文已影响0人  木子川页心

一、创建 XMLHttpRequest 对象

XMLHttpRequest 用于在后台与服务器交换数据。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。

1.标准浏览器
var xml =new XMLHttpRequest();

2.老浏览器
var xml = new ActiveXObject("Microsoft.XMLHTTP");

3.兼容写法
var xml;
if (window.XMLHttpRequest){
xml = new XMLHttpRequest();
}else{
xml = new ActiveXObject("Microsoft.XMLHTTP");
}

二、向服务器发送请求

XMLHttpRequest 对象用于和服务器交换数据。

1.如需将请求发送到服务器,我们使用 XMLHttpRequest 对象的 open() 和 send() 方法:
xml.open("GET","test1.txt",true);
xml.send();

open(method,url,async):
method:请求的类型;GET 或 POST
url:文件在服务器上的位置
async:true(异步)或 false(同步)
send(string):
string:仅用于 POST 请求
三、服务器响应

如需获得来自服务器的响应,请使用 XMLHttpRequest 对象的 responseText 或 responseXML 属性。
1.如果来自服务器的响应并非 XML,使用 responseText 属性。responseText 属性返回字符串形式的响应。

oDiv.innerHTML = xml.responseText;

2.如果来自服务器的响应是 XML,而且需要作为 XML 对象进行解析,使用 responseXML 属性。
var xmlDoc=xml.responseXML;
var txt="";
var x=xmlDoc.getElementsByTagName("ARTIST");
for (i=0;i<x.length;i++){
txt=txt + x[i].childNodes[0].nodeValue + "<br />";
}
oDiv.innerHTML=txt;

四、onreadystatechange 事件

存储函数(或函数名),每当 readyState 属性改变时,就会调用该函数。

  1. readyState:
    存有 XMLHttpRequest 的状态。从 0 到 4 发生变化。
    0: 请求未初始化
    1: 服务器连接已建立
    2: 请求已接收
    3: 请求处理中
    4: 请求已完成,且响应已就绪

2.status:
200: "OK"
404: 未找到页面

xml.onreadystatechange=function(){
if (xmlhttp.readyState==4 && xmlhttp.status==200){
oDiv.innerHTML=xmlhttp.responseText;
}
}

上一篇 下一篇

猜你喜欢

热点阅读