超文本传输协议(HyperText Transfer Protocol)HTTP规定了Web浏览器如何从Web服务器获取文档和向Web服务器提交表单数据,以及服务器如何响应这些请求和提交。通常,HTTP并不在脚本的控制下,只是当用户单击链接、提交表单和输入URL时才发生。
但是,用JavaScript操纵HTTP是可行的。这里不得不提到Ajax,Ajax描述了一种主要使用脚本操纵HTTP的web应用架构。主要特点是使用脚本操纵HTTP和web服务器进行数据交换,不会导致页面重载。实现Ajax的方法有很多,通常来说使用所有浏览器都支持的XMLHttpRequest对象比较简单。XMLHttpRequest对象定义了用脚本操纵HTTP的API。首先先实例化一个XMLHttpRequest对象。
var request = new XMLHttpRequest();
在IE5和IE6中XMLHttpRequest对象是一个ActiveX对象。也就是说IE7之前的版本不支持非标准的XMLHttpRequest()构造函数。考虑到兼容性可创建如下函数:
function createXHR() {
//判断浏览器是否支持XMLHttpRequest对象
if(window.XMLHttpRequest === undefined){
try{
return new ActiveXObject('MSXML2.XMLHTTP.6.0');
}catch(e1){
try {
return new ActiveXObject('MSXML2.XMLHTTP.3.0');
} catch(e2) {
throw new Error('XMLHttpRequest is not supported');
}
}
}else{
return new XMLHttpRequest();
}
}