javascript - ajax ie跨浏览器activexobject问题

标签 javascript ajax internet-explorer cross-browser

我是 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,并且想知道保留所有这些版本是否都很重要,或者我应该只使用一个?

最佳答案

我认为您不需要其中任何一个。

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

您会看到的通常模式类似于:

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

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

但是,XHR 的功能远不止返回对象,例如监视状态和错误,因此这正是人们使用库来完成此类操作的原因。不要重新发明轮子。

关于javascript - ajax ie跨浏览器activexobject问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11146087/

相关文章:

JavaScript 语法错误

javascript - AngularJS 1.2 和 IE9 带有页面标题的奇怪行为

javascript - 使用 Javascript 在 Photoshop 中查找顶级图层集

javascript - Angular.js 复制文本框数组行中的值

python - 如何加速 Ajax 请求 Python Youtube scraper

css - CSS3 中的过渡在 Firefox 或 Internet Explorer 中不起作用

javascript - IE8 支持哪些 Javascript 版本?

javascript - 滑出垂直导航

javascript - 单击后禁用提交按钮以防止用户向服务器发送多个请求

php - 在 jQuery 中使用 AJAX 访问信息并将数据从 PHP 传递到 JSON