AJAX脚本仅适用于Firefox,但不适用于IE

时间:2009-12-24 00:36:55

标签: ajax internet-explorer

我的ajax脚本只适用于Firefox而不是为什么??

========================================

   <html>
    <head>

<script language=Javascript>
function Inint_AJAX() {
try { return new ActiveXObject("Msxml2.XMLHTTP");  } catch(e) {} //IE
try { return new ActiveXObject("Microsoft.XMLHTTP"); } catch(e) {} //IE
try { return new XMLHttpRequest();          } catch(e) {} //Native Javascript
alert("XMLHttpRequest not supported");
return null;
};

function dochange(src) {

var req = Inint_AJAX();
req.onreadystatechange = function () {


 if (req.readyState==4) {
      if (req.status==200) {


document.getElementById(src).innerHTML=req.responseText; //retuen value
setTimeout("dochange('showResult')",5000);
}

if (!req.responseXML.documentElement && req.responseStream)
  req.responseXML.load(req.responseStream);
 }
};
req.open("GET", "ajax.php"); //make connection
req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=utf-8"); // set Header
req.send(null); //send value
}

window.onLoad=dochange('showResult');
</script>
</head>


<body>
<div id="showResult"></div> <!–page result will be displayed here–>
</body>
</html>

1 个答案:

答案 0 :(得分:4)

卢克,使用来源!更好的是,使用经过验证的JS库,例如jQuery的。他们处理所有这些问题,他们做得比你自己有时间自己做得更好。

<强>更新

亚历克斯 - 开个玩笑。我们都告诉你使用jQuery(或其他主要的Javascript库之一)的原因是因为让这些东西在所有(甚至接近所有)浏览器上工作是真的很难。由于MS对HTML和CSS的处理受到严重影响(并且相信我,它很糟糕),他们的各种JavaScript实现从垃圾到巨大的蒸汽堆垃圾。各种JS库为您提供标准的,跨浏览器的工作方式 - 这些方式已经成为真正的专业人员才能做到正确。你真的,真的不想浪费你的时间在这些东西上。

所以,使用一个好的库,使用Firebug作为你的调试器让它在Firefox中工作,你很有可能在IE中工作。