0

我的代码在 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>

有人可以帮我吗?

4

2 回答 2

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");
}
于 2013-05-29T22:40:31.023 回答
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(); 变量,因此可能是您的问题的原因

于 2013-05-29T22:48:51.830 回答