【问题标题】:window.XMLHttpRequest is undefined in IE7/IE8window.XMLHttpRequest 在 IE7/IE8 中未定义
【发布时间】:2010-03-02 13:04:26
【问题描述】:

当我在 IE7 或 IE8 中运行我的应用程序时,window.XMLHttpRequest 的值是未定义的,我必须在 IE7 中启用什么才能使其工作。

谢谢

【问题讨论】:

    标签: asp.net javascript ajax


    【解决方案1】:

    你可以这样做:

    if (!window.XMLHttpRequest) {
      window.XMLHttpRequest = function() {
        return new ActiveXObject('Microsoft.XMLHTTP');
      };
    }
    

    不过,我建议查看 AJAX 库,使用 jQuery、ExtJS、MooTools,无论你喜欢什么,生活都会轻松得多。

    【讨论】:

    • window.XNLHttpRequest 在我的情况下是未定义的,如果我使用代码 if(!window.XMLHttpRequest) 会给我一个错误。
    • @Arvind - 你试过了吗?它工作正常:!(undefined thing) == true in javascript。
    【解决方案2】:

    我从 Internet 选项中启用了原生 XMLHTTP 支持,此后我的代码开始正常工作。

    【讨论】:

    • 这不是答案。问题出在您的应用程序中。如果你想支持 IE7/8/9,你不能要求你的所有用户改变他们的 IE 设置来使用你的应用程序。好吧,你可以,但这太荒谬了。
    【解决方案3】:

    https://gist.github.com/jed/993585/#comment-40084

    var xhr = (function(){
        try{
            return new(this.XMLHttpRequest||ActiveXObject)('MSXML2.XMLHTTP.3.0');
        } catch(e) {};
    }());
    

    【讨论】:

      猜你喜欢
      • 2012-07-15
      • 2017-02-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-12
      • 1970-01-01
      相关资源
      最近更新 更多