//取得一个XmlHttpRequest提交一个URL返回的内容,书写一个javascript方法如下:
function gethttp(url)
{
var oXMLHttpRequest = false;
if(window.XMLHttpRequest)
{//如果是Mozilla浏览器
oXMLHttpRequest = new XMLHttpRequest();
if(oXMLHttpRequest.overrideMimeType)
{
oXMLHttpRequest.overrideMimeType("text/html");
}
}
else if(window.ActiveXObject)
{
try
{
oXMLHttpRequest = new ActiveXObject("Msxml2.XMLHTTP");
}
catch(e)
{
try
{
oXMLHttpRequest = new ActiveXObject("Microsoft.XMLHTTP");
}
catch(e)
{
}
}
}
if(!oXMLHttpRequest)
{
window.alert("不能创建对象实例!");
return;
}
try
{
oXMLHttpRequest.Open("GET",url,false);
oXMLHttpRequest.Send();
var text = oXMLHttpRequest.responseText;
return text;
}
catch(e)
{
return "";
}
}
在IE6测试通过可在IE7测试无法通过,因为IE7在兼容firefox方面做了一些尝试,但却产生了bug,需要先判断IE,然后判断firefox才能得以通过,由于各种浏览器对象的不同性,可将原方法改造如下:
function gethttp(url)
{
var xmlhttp = false;
var text = "";
if(window.ActiveXObject)
{
//如果是IE浏览器
var ieArr=["MSXML2.XMLHTTP","Microsoft.XMLHTTP","Msxml2.XMLHTTP.6.0","Msxml2.XMLHTTP.3.0"];
for(i=0;i < 1;i++)
{
var objstr = ieArr[i];
//alert(objstr);
try
{
xmlhttp = new ActiveXObject(objstr);
}
catch(e)
{
alert(e);
}
if(xmlhttp)
{
break;
}
}
if(!xmlhttp)
{
window.alert("不能创建对象实例!");
return "";
}
try
{
xmlhttp.Open("GET",url,false);
xmlhttp.Send();
text = xmlhttp.responseText;
return text;
}
catch(e)
{
alert(e);
return "";
}
}
else if(window.XMLHttpRequest)
{
//如果是Mozilla浏览器
xmlhttp = new XMLHttpRequest();
if(xmlhttp.overrideMimeType)
{
xmlhttp.overrideMimeType("text/html");
}
if(!xmlhttp)
{
window.alert("不能创建对象实例!");
return "";
}
try
{
//alert(xmlhttp);
xmlhttp.open("GET",url,true);
xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded;");
xmlhttp.send(null);
//alert(xmlhttp.responseText)
text = xmlhttp.responseText;
//alert(text);
return text;
}
catch(e)
{
alert(e);
return "";
}
}
}