如何让我的ajax在IE中工作

时间:2013-05-29 22:29:03

标签: javascript ajax internet-explorer

我的代码适用于Firefox,但它无法在IE上运行 这是我的剧本:

<script type="text/javascript">
  var request = new XMLHttpRequest();

  function saseangol() {
    request.open ("GET", "saseangol.html",true);
    request.onreadystatechange = function() {

      if(request.readyState == 4) {
        document.getElementById('cont').innerHTML = request.responseText;
      }

    }
    request.send(null);
  }
  var request = new XMLHttpRequest();

  function sase() {
    request.open ("GET", "sase.html",true);
    request.onreadystatechange = function() {

      if(request.readyState == 4) {
        document.getElementById('cont').innerHTML = request.responseText;
      }

    }
    request.send(null);
  }
</script>

有人可以帮助我吗?

2 个答案:

答案 0 :(得分:0)

您能否查看您正在使用的IE版本,是否支持XMLHttpRequest。因为IE7 +内置了XMLHttpRequest对象。

xmlhttp = new XMLHttpRequest();

旧版本的Internet Explorer(IE5和IE6)使用ActiveX对象:

xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");

在javascript中:

if (window.XMLHttpRequest) {
    self.xmlHttpReq = new XMLHttpRequest();
}
// IE
else if (window.ActiveXObject) {
    self.xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
}

答案 1 :(得分:0)

如果你想使用AJAX跨浏览器,你可以做这样的事情......

function createXHR() {
    if (typeof XMLHttpRequest !== "undefined") {
        return new XMLHttpRequest();
    } else {
        var versions = ["MSXML2.XmlHttp.6.0",
            "MSXML2.XmlHttp.3.0"];

        for (var i = 0, length = versions.length; i < length; i++) {
            try {
                var xhr = new ActiveXObject(versions[i]);
                return xhr;
            } catch (error) {}
        }
    }

    alert("Your Browser Doesn't Support XmlHttp");

    return null;
}

您使用异步请求,因此在执行该请求时,您只需重新声明var request = new XMLHttpRequest(); 变量,因此可能存在问题原因