【问题标题】:ajax ie cross browser activexobject questionsajax即跨浏览器activexobject问题
【发布时间】:2012-06-24 03:44:12
【问题描述】:

我是 AJAX 的初学者。我有一个在互联网上找不到的问题,所以我来到这里:)。我的第一个问题与下面的代码块有关。

function createXHR() {
  var iexhr...;

  iexhr = ["MSXML2.XMLHttp.7.0", "MSXML2.XMLHttp.6.0", "MSXML2.XMLHttp.5.0", "MSXML2.XMLHttp.4.0", "MSXML2.XMLHttp.3.0", "MSXML2.XMLHttp", "MSXML3.XMLHttp", "Microsoft.XMLHttp"];
}

我对上面代码的问题是:在我的谷歌搜索和研究过程中,我收集了使用不同版本 xmlhttprequest 的代码示例。我想创建一个跨浏览器的 xhr,并且想知道是否所有这些版本都很重要,还是应该只使用一个?

【问题讨论】:

    标签: javascript ajax internet-explorer cross-browser


    【解决方案1】:

    我不认为你想要这些。

    您确实需要担心两个版本的 XHR:window.ActiveXObject( "Microsoft.XMLHTTP") 用于 oldIE,window.XMLHttpRequest() 用于其他所有人。

    你会看到的通常模式是这样的:

    if(window.XMLHttpRequest){
        return new window.XMLHttpRequest();
    } 
    else {
        return new window.ActiveXObject( "Microsoft.XMLHTTP" );
    } 
    

    或者类似的,取决于你想要做什么。

    然而,XHR 除了返回对象之外还有很多其他功能,例如监控状态和错误,所以这正是人们使用库来处理这类事情的原因。不要重新发明轮子。

    【讨论】:

      猜你喜欢
      • 2013-06-01
      • 1970-01-01
      • 2016-03-14
      • 2011-03-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多