var request = false;try {
request = new XMLHttpRequest();
} catch (trymicrosoft) {
try {
request = new ActiveXObject("Msxml2.XMLHTTP");
} catch (othermicrosoft) {
try {
request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (failed) {
request = false;
}
}
}
可能是什么原因呢?ie中完全不好用

解决方案 »

  1.   

    测试代码:
    demo01.php<script src="demo02.js"></script>
    <form>
    <input type=button value="ok" onclick="a()">
    </form>demo02.js
    \
       var request = false; try {
    request = new XMLHttpRequest();
    } catch (trymicrosoft) {
    try {
    request = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (othermicrosoft) {
    try {
    request = new ActiveXObject("Microsoft.XMLHTTP");
    } catch (failed) {
    request = false;
    }
    }
    }
    if  (!request)
    alert("页面异常,请刷新后重试");
    function a() { var url = 'demo03.php'; request.open("GET", url, true);
    request.onreadystatechange=update;
    request.send(null);
    } function update() {
    if (request.readyState == 4) {
    if (request.status == 200) { // json=eval("("+request.responseText+")");
    alert(request.responseText);
    }
    }
    }
    demo03.php<?php
    echo 'Success';
    ?>
      

  2.   

     上面的代码我在ff下好用,ie下就不行了 demo02.js 上那个/是复制时不小心弄上去的 和代码无关
      

  3.   

    你去学个jquery框架吧? 一看到ajax这段代码就烦.累不累啊..
      

  4.   

    创建xmlHttp对象时:
    function createXmlHttp()
    {
    var xmlHttp=null;
    if(window.ActiveXObject)
    {
    try{
    xmlHttp=new ActiveXObject("Microsoft.XmlHttp");
    }catch(e){
    xmlHttp=new ActiveXObject("MSXML2.XmlHttp");
    }
    }
    else if(window.XMLHttpRequest)
    {
    xmlHttp=new XMLHttpRequest();
    }
    return xmlHttp;
    }
      

  5.   

    Msxml2.XMLHTTP应该是ie6开始就支持的.