写了一段Ajax,只有IE可以通过,其他浏览器不知道怎么写

来源:百度知道 编辑:UC知道 时间:2024/06/04 10:46:29
// JScript 文件
function XHR() //返回一个XMLHttpRequest
{
var xhr;
var ms=new Array("Microsoft.XMLHTTP","Msxml2.XMLHTTP");
for(var i=-1;i<ms.length;i++)
{
try
{
if(i==-1)
{
xhr=new XMLHttpRequest();
return xhr;
}
else
{
xhr=new ActiveXObject(ms[i]);
return xhr;
}
}
catch(e)
{continue;}
}
return null;
}
function MsXML() //操作XML对象
{
var xml;
var ms=new Array("Msxml2.DOMDocument.5.0","Msxml2.DOMDocument.4.0","Msxml2.DOMDocument.3.0","Msxml2.DOMDocument","Microsoft.XmlDom");
for(var i=0;i<ms.length;i++)
{
try
{
xml=new ActiveXObject(ms[i]);
return xml;
}
catch(e)
{continue;}
}
}
function Res(id,title) //发表评论
{
var cont=document.getElementByI

用jQuery的ajax函数吧,自己写总是不能保证兼容大部分浏览器

创建XMLHTTP对象的时IE是使用ActiveXObject
其它非IE内核的浏览器如firefox中就要用 XMLHttpRequest来创建
//一般创建XMLHTTP对象要判断是否支持window.XMLHttpRequest
function createXMLHTTP(){
if(window.XMLHttpRequest){
var XMLHttp=new window.XMLHttpRequest();
//XMLHttp.overrideMimeType("text/xml");
return XMLHttp;
}
else if(window.ActiveXObject){
var XMLHttp=new ActiveXObject("Microsoft.XMLHTTP");
return XMLHttp;
}
}

应该不是xhr.onreadystatechange=function(){...}这句的事

送您一段代码
var buildXHR=function(){
var xmlHttp=false;
try{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}catch(e){
try{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}catch(e2){
xmlHttp=false;
}
}
/* 处理 Mozilla 和非 Microsoft 浏览器 */