JavaScript XMLHttpRequest 对象

来源:互联网 发布:汽车维修软件 编辑:程序博客网 时间:2024/05/20 20:58

XMLHttpRequest 对象用于在后台与服务器交换数据。所有现代的浏览器都支持 XMLHttpRequest 对象。所有现代浏览器 (IE7+、Firefox、Chrome、Safari 以及 Opera) 都内建了 XMLHttpRequest 对象。

XMLHttpRequest 对象是开发者的梦想,因为您能够:

1.在不重新加载页面的情况下更新网页2.在页面已加载后从服务器请求数据3.在页面已加载后从服务器接收数据4.在后台向服务器发送数据
//创建 XMLHttpRequest 对象的语法: var xhr = new XMLHttpRequest();

应用1:

//老版本的 Internet Explorer (IE5 和 IE6)使用 ActiveX 对象:var xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
var xmlhttp;function loadXMLDoc(url){xmlhttp=null;if (window.XMLHttpRequest)  {// 新浏览器支持,大多浏览器支持  xmlhttp=new XMLHttpRequest();  }else if (window.ActiveXObject)  {// IE5 IE6浏览器支持  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");  }if (xmlhttp!=null)  {  xmlhttp.onreadystatechange=state_Change;  xmlhttp.open("GET",url,true);  xmlhttp.send(null);  }else  {  alert("Your browser does not support XMLHTTP.");  }}function state_Change(){if (xmlhttp.readyState==4)  {// 4 = "loaded"  if (xmlhttp.status==200)    {// 200 = OK    // ...our code here...    }  else    {    alert("Problem retrieving XML data");    }  }}

应用2:

function getApplePaySession(url) {  return new Promise(function (resolve, reject) {    var xhr = new XMLHttpRequest();    xhr.open('POST', '/getApplePaySession');    xhr.onload = function () {      if (this.status >= 200 && this.status < 300) {        resolve(JSON.parse(xhr.response));      } else {        reject({          status: this.status,          statusText: xhr.statusText        });      }    };    xhr.onerror = function () {      reject({        status: this.status,        statusText: xhr.statusText      });    };    xhr.setRequestHeader("Content-Type", "application/json");    xhr.send(JSON.stringify({url: url}));  });}
0 0
原创粉丝点击