JavaScript:我应该使用哪个,Microsoft.XMLHTTP或Msxml2.XMLHTTP?

时间:2009-12-17 05:06:35

标签: javascript ajax

有两个编剧。我见过两个都用过。

任何人都有任何关于何时应该使用一个而不是另一个的见解?

4 个答案:

答案 0 :(得分:5)

你绝对不应该使用Microsoft.XmlHttp。

来自 Microsoft XML团队博客Using the right version of MSXML in Internet Explorer

  

MSXML2与Microsoft命名空间 - 我也看到了很多代码   实例化“Microsoft.XMLHTTP”   ActiveX对象而不是   MSXML2.XMLHTTP.3.0或   MSXML2.XMLHTTP.6.0如果您正在使用   6.0。 “Microsoft”命名空间实际上较旧,仅实现   在MSXML3中获得遗留支持。它的   不幸的是,我们使用了“更好”的名字   在较旧的版本,但坚持   实例化时的“msxml2”命名空间   对象。

答案 1 :(得分:2)

答案 2 :(得分:1)

也许不是你想要的答案,但是,如果你正在开发一个Ajax应用程序,我会说你不应该使用其中任何一个:相反,你应该使用一个处理浏览器兼容性的Javascript框架,并没有重新打那场战斗。

例如(还有更多):

而且,作为旁注,他们会给你很多其他有用的东西; - )

答案 3 :(得分:-1)

此代码负责IE和firefox。

try {
  XMLHttpRequestObject = new ActiveXObject("MSXML2.XMLHTTP");
} catch (exception1) {
  try {
    XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP");
  } catch (exception2) {
    XMLHttpRequestObject = false;
  }
}

if (!XMLHttpRequestObject && window.XMLHttpRequest) {
  XMLHttpRequestObject = new XMLHttpRequest();
}