网络技术知识
Microsoft的XMLHTTP对象介绍
Microsoft的XMLHTTP对象介绍
什么是XMLHTTP对象?
XMLHTTP对象是指Microsoft.XMLHTTP或Microsoft.XMLHTTP.6.0。这是在Internet Explorer 5.5中引入的第一个版本。用于创建XMLHttpRequest对象,它是与服务器通信的基础。
如何创建XMLHTTP对象?
创建XMLHTTP对象有两种方法:
方法一
var xmlhttp;
if (window.XMLHttpRequest) {
// code for modern browsers
xmlhttp = new XMLHttpRequest();
} else {
// code for old IE browsers
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
在这个方法中,首先判断浏览器是否支持XMLHttpRequest对象,如果支持,则创建XMLHttpRequest对象;如果不支持,则使用ActiveXObject("Microsoft.XMLHTTP")创建XMLHttpRequest对象。
方法二
var xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
在这种方法中,使用ActiveXObject创建Msxml2.XMLHTTP或Microsoft.XMLHTTP对象。
如何使用XMLHTTP对象与服务器进行交互?
XMLHTTP对象有四个重要的属性和三个重要的方法,它们的作用如下:
属性
- onreadystatechange:每次状态改变时的事件处理程序
- readyState:保存XMLHttpRequest对象的状态
- responseText:服务器响应的字符
- status:服务器响应的HTTP状态代码
方法
- open(method,url,async):规定请求的类型、URL以及是否异步处理请求
- send(string):将请求发送到服务器
- setRequestHeader(header,value):向请求添加HTTP头部
下面是一个例子,展示了如何使用XMLHTTP对象异步获取服务器上的数据:
var xmlhttp;
if (window.XMLHttpRequest) {
xmlhttp = new XMLHttpRequest();
} else {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
document.getElementById("myDiv").innerHTML = this.responseText;
}
};
xmlhttp.open("GET", "myurl.php", true);
xmlhttp.send();
这个例子中,我们首先创建一个XMLHttpRequest对象,然后使用readyState和status属性检查服务器响应,最后通过设置innerHTML显示服务器返回的响应文本。
另一个例子中,我们可以使用XMLHTTP对象将表单数据发送到服务器:
function sendData() {
var xmlhttp = new XMLHttpRequest();
var url = "myform.php";
var name = document.getElementById("name").value;
var email = document.getElementById("email").value;
var params = "name=" + name + "&email=" + email;
xmlhttp.open("POST", url, true);
xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
document.getElementById("result").innerHTML = xmlhttp.responseText;
}
};
xmlhttp.send(params);
}
在这个例子中,我们使用XMLHTTP对象将表单数据作为POST请求发送到服务器,并将服务器返回的响应显示在页面上。
总结
XMLHTTP对象是一个非常重要的对象,可用于通过HTTP从Web服务器获取数据。它有多个属性和方法,使用起来非常方便。我们可以使用它的异步方式与服务器进行交互,也可以使用它将表单数据发送到服务器。