我是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不仅要返回对象,而且还需要返回对象,例如监视状态和错误,因此这正是人们将库用于此类事情的原因。不要重新发明轮子。

10-05 20:53
查看更多