ajax的四个过程

一、创建 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;
  }
}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容